home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / jargon.lha / jargon-upd next >
Text File  |  1993-05-11  |  346KB  |  6,500 lines

  1. This is an automatically generated difference report including new, changed
  2. and deleted entries from the _The_New_Hacker's_Dictionary_ (Jargon File
  3. release 2.9.6) up to the present.  Trivial tweaks such as typo fixes,
  4. and additions to the cross-reference structure that don't change the
  5. actual content of the entry, have been omitted.
  6.  
  7. If an entry was changed in multiple versions, it is listed under
  8. the *earliest* version in which it occurs.  For reasons too painful
  9. to explain, changed entries are very occasionally listed twice.
  10.  
  11. This report was generated Tue May 11 23:17:02 EDT 1993
  12.  
  13. **************** New entries in 2.9.7 *****************
  14.  
  15. :annoybot: /*-noy-bot/ [IRC] n. See {robot}.
  16.  
  17. :blargh: /blarg/ [MIT] n. The opposite of {ping}, sense 5; an
  18.    exclamation indicating that one has absorbed or is emitting a
  19.    quantum of unhappiness.  Less common than {ping}.
  20.  
  21. :BOF: /B-O-F/ or /bof/ n. Abbreviation for the phrase "Birds
  22.    Of a Feather" (flocking together), an informal discussion group
  23.    and/or bull session scheduled on a conference program.  It is not
  24.    clear where or when this term originated, but it is now associated
  25.    with the USENIX conferences for UNIX techies and was already
  26.    established there by 1984.  It was used earlier than that at DECUS
  27.    conferences and is reported to have been common at SHARE meetings
  28.    as far back as the early 1960s.
  29.  
  30. :break-even point: n. in the process of implementing a new computer
  31.    language, the point at which the language is sufficiently effective
  32.    that one can implement the language in itself.  That is, for a new
  33.    language called, hypothetically, FOOGOL, one has reached break-even
  34.    when one can write a demonstration compiler for FOOGOL in FOOGOL,
  35.    discard the original implementation language, and thereafter use
  36.    working versions of FOOGOL to develop newer ones.  This is an
  37.    important milestone; see {MFTL}.
  38.  
  39.    [Since this entry was first written, several correspondents have
  40.    reported that there actually was a compiler for a tiny Algol-like
  41.    language called Foogol floating around on various {vaxen} in the
  42.    early and mid-1980s.  The above example may not, after all, be
  43.    hypothetical. -- ESR]
  44.  
  45. :channel: [IRC] n. The basic unit of discussion on {IRC}.  Once
  46.    one joins a channel, everything one types is read by others on that
  47.    channel.  Channels can either be named with numbers or with strings
  48.    that begin with a `#' sign and can have topic descriptions (which
  49.    are generally irrelevant to the actual subject of discussion).
  50.    Some notable channels are `#initgame', `#hottub', and
  51.    `#report'.  At times of international crisis, `#report'
  52.    has hundreds of members, some of whom take turns listening to
  53.    various news services and typing in summaries of the news, or in
  54.    some cases, giving first-hand accounts of the action (e.g., Scud
  55.    missile attacks in Tel Aviv during the Gulf War in 1991).
  56.    
  57. :channel hopping: [IRC, GEnie] n. To rapidly switch channels on
  58.    {IRC}, or a GEnie chat board, just as a social butterfly might hop
  59.    from one group to another at a party.  This term may derive from the TV
  60.    watcher's idiom, `channel surfing'.
  61.  
  62. :channel op: /chan'l op/ [IRC] n. Someone who is endowed with
  63.    privileges on a particular {IRC} channel; commonly abbreviated
  64.    `chanop' or `CHOP'.  These privileges include the right to
  65.    {kick} users, to change various status bits, and to make others
  66.    into CHOPs.
  67.    
  68. :chanop: /chan'-op/ [IRC] n. See {channel op}.
  69.  
  70. :CHOP: /chop/ [IRC] n. See {channel op}.
  71.  
  72. :dark-side hacker: n. A criminal or malicious hacker; a
  73.    {cracker}.  From George Lucas's Darth Vader, "seduced by the
  74.    dark side of the Force".  The implication that hackers form a
  75.    sort of elite of technological Jedi Knights is intended.  Oppose
  76.    {samurai}.
  77.  
  78. :Duff's device: n. The most dramatic use yet seen of {fall
  79.    through} in C, invented by Tom Duff when he was at Lucasfilm.
  80.    Trying to {bum} all the instructions he could out of an inner
  81.    loop that copied data serially onto an output port, he decided to
  82.    {unroll} it.  He then realized that the unrolled version could
  83.    be implemented by *interlacing* the structures of a switch and
  84.    a loop:
  85.  
  86.         register n = (count + 7) / 8;      /* count > 0 assumed */
  87.  
  88.         switch (count % 8)
  89.         {
  90.         case 0:        do { *to = *from++;
  91.         case 7:              *to = *from++;
  92.         case 6:              *to = *from++;
  93.         case 5:              *to = *from++;
  94.         case 4:              *to = *from++;
  95.         case 3:              *to = *from++;
  96.         case 2:              *to = *from++;
  97.         case 1:              *to = *from++;
  98.                            } while (--n > 0);
  99.         }
  100.  
  101.    Shocking though it appears to all who encounter it for the first
  102.    time, the device is actually perfectly valid, legal C.  C's default
  103.    {fall through} in case statements has long been its most
  104.    controversial single feature; Duff observed that "This code forms
  105.    some sort of argument in that debate, but I'm not sure whether it's
  106.    for or against."
  107.  
  108.    [For maximal obscurity, the outermost pair of braces above could be
  109.    actually be removed --- GLS]
  110.  
  111. :dumpster diving: /dump'-ster di:'-ving/ n. 1. The practice of
  112.    sifting refuse from an office or technical installation to extract
  113.    confidential data, especially security-compromising information
  114.    (`dumpster' is an Americanism for what is elsewhere called a
  115.    `skip').  Back in AT&T's monopoly days, before paper shredders
  116.    became common office equipment, phone phreaks (see {phreaking})
  117.    used to organize regular dumpster runs against phone company plants
  118.    and offices.  Discarded and damaged copies of AT&T internal manuals
  119.    taught them much.  The technique is still rumored to be a favorite
  120.    of crackers operating against careless targets.  2. The practice of
  121.    raiding the dumpsters behind buildings where producers and/or
  122.    consumers of high-tech equipment are located, with the expectation
  123.    (usually justified) of finding discarded but still-valuable
  124.    equipment to be nursed back to health in some hacker's den.
  125.    Experienced dumpster-divers not infrequently accumulate basements
  126.    full of moldering (but still potentially useful) {cruft}.
  127.  
  128. :finn: [IRC] v. To pull rank on somebody based on the amount of
  129.    time one has spent on {IRC}.  The term derives from the fact
  130.    that IRC was originally written in Finland in 1987.
  131.    
  132. :firehose syndrome: n. In mainstream folklore it is observed that
  133.    trying to drink from a firehose can be a good way to rip your lips
  134.    off.  On computer networks, the absence or failure of flow control
  135.    mechanisms can lead to situations in which the sending system
  136.    sprays a massive flood of packets at an unfortunate receiving
  137.    system, more than it can handle.  Compare {overrun}, {buffer
  138.    overflow}.
  139.  
  140. :flood: [IRC] v. To dump large amounts of text onto an {IRC}
  141.    channel.  This is especially rude when the text is uninteresting
  142.    and the other users are trying to carry on a serious conversation.
  143.    
  144. :FM: n. *Not* `Frequency Modulation' but rather an
  145.    abbreviation for `Fucking Manual', the back-formation from
  146.    {RTFM}. Used to refer to the manual itself in the {RTFM}.
  147.    "Have you seen the Networking FM lately?"
  148.  
  149. :gweep: /gweep/ [WPI] 1. v. To {hack}, usually at night.  At
  150.    WPI, from 1977 onwards, this often indicated that the speaker could
  151.    be found at the College Computing Center punching cards or crashing
  152.    the {PDP-10} or, later, the DEC-20.  The term has survived the
  153.    demise of those technologies, however, and is still alive in late
  154.    1991.  "I'm going to go gweep for a while. See you in the
  155.    morning" "I gweep from 8 PM till 3 AM during the week."
  156.    2. n. One who habitually gweeps in sense 1; a {hacker}.  "He's
  157.    a hard-core gweep, mumbles code in his sleep."
  158.  
  159. :HHOK: See {ha ha only serious}.
  160.  
  161. :HHOS: See {ha ha only serious}.
  162.  
  163. :hing: // [IRC] n. Fortuitous typo for `hint', now in wide
  164.    intentional use among players of {initgame}.  Compare
  165.    {newsfroup}, {filk}.
  166.  
  167. :ICBM address: n. (Also `missile address') The form used to
  168.    register a site with the USENET mapping project includes a blank
  169.    for longitude and latitude, preferably to seconds-of-arc accuracy.
  170.    This is actually used for generating geographically-correct maps of
  171.    USENET links on a plotter; however, it has become traditional to
  172.    refer to this as one's `ICBM address' or `missile address', and
  173.    many people include it in their {sig block} with that name.
  174.  
  175. :initgame: /in-it'gaym/ [IRC] n. An {IRC} version of the
  176.    venerable trivia game "20 questions", in which one user changes
  177.    his {nick} to the initials of a famous person or other named
  178.    entity, and the others on the channel ask yes or no questions, with
  179.    the one to guess the person getting to be "it" next.  As a
  180.    courtesy, the one picking the initials starts by providing a
  181.    4-letter hint of the form sex, nationality, life-status,
  182.    reality-status.  For example, MAAR means "Male, American, Alive,
  183.    Real" (as opposed to "fictional").  Initgame can be surprisingly
  184.    addictive.  See also {hing}.
  185.  
  186. :IRC: /I-R-C/ [Internet Relay Chat] n. A worldwide "party
  187.    line" network that allows one to converse with others in real
  188.    time.  IRC is structured as a network of Internet servers, each of
  189.    which accepts connections from client programs, one per user.  The
  190.    IRC community and the {USENET} and {MUD} communities overlap
  191.    to some extent, including both hackers and regular folks who have
  192.    discovered the wonders of computer networks.  Some USENET jargon
  193.    has been adopted on IRC, as have some conventions such as
  194.    {emoticon}s.  There is also a vigorous native jargon,
  195.    represented in this lexicon by entries marked `[IRC]'.  See also
  196.    {talk mode}.
  197.    
  198. :jupiter: [IRC] vt. To kill an {IRC} {robot} or user and
  199.    then take its place by adopting its {nick} so that it cannot
  200.    reconnect.  Named after a particular IRC user who did this to
  201.    NickServ, the robot in charge of preventing people from
  202.    inadvertently using a nick claimed by another user.
  203.  
  204. :kick: [IRC] v. To cause somebody to be removed from a {IRC}
  205.    channel, an option only available to {CHOP}s.  This is an
  206.    extreme measure, often used to combat extreme {flamage} or
  207.    {flood}ing, but sometimes used at the chop's whim.  Compare
  208.    {gun}.
  209.    
  210. :maximum Maytag mode: What a {washing machine} or, by extension,
  211.    any hard disk is in when it's being used so heavily that it's
  212.    shaking like an old Maytag with an unbalanced load.  If prolonged
  213.    for any length of time, can lead to disks becoming {walking
  214.    drives}.
  215.  
  216. :missile address: n. See {ICBM address}.
  217.  
  218. :neats vs. scruffies: n. The label used to refer to one of the
  219.    continuing {holy wars} in AI research.  This conflict tangles
  220.    together two separate issues.  One is the relationship between
  221.    human reasoning and AI; `neats' tend to try to build systems
  222.    that `reason' in some way identifiably similar to the way humans
  223.    report themselves as doing, while `scruffies' profess not to
  224.    care whether an algorithm resembles human reasoning in the least as
  225.    long as it works.  More importantly, neats tend to believe that
  226.    logic is king, while scruffies favor looser, more ad-hoc methods
  227.    driven by empirical knowledge.  To a neat, scruffy methods appear
  228.    promiscuous and successful only by accident; to a scruffy, neat
  229.    methods appear to be hung up on formalism and irrelevant to the
  230.    hard-to-capture `common sense' of living intelligences.
  231.  
  232. :netburp: [IRC] n. When {netlag} gets really bad, and delays
  233.    between servers exceed a certain threshhold, the {IRC} network
  234.    effectively becomes partitioned for a period of time, and large
  235.    numbers of people seem to be signing off at the same time and then
  236.    signing back on again when things get better.  An instance of this
  237.    is called a `netburp' (or, sometimes, {netsplit}).
  238.    
  239. :netdead: [IRC] n. The state of someone who signs off {IRC},
  240.    perhaps during a {netburp}, and doesn't sign back on until
  241.    later.  In the interim, he is "dead to the net".
  242.  
  243. :netlag: [IRC, MUD] n. A condition that occurs when the delays in
  244.    the {IRC} network or on a {MUD} become severe enough that
  245.    servers briefly lose and then reestablish contact, causing messages
  246.    to be delivered in bursts, often with delays of up to a minute.
  247.    (Note that this term has nothing to do with mainstream "jet lag",
  248.    a condition which hackers tend not to be much bothered by.)
  249.    
  250. :nick: [IRC] n. Short for nickname.  On {IRC}, every user must
  251.    pick a nick, which is sometimes the same as the user's real name or
  252.    login name, but is often more fanciful.
  253.    
  254. :op: /op/ n. 1 [IRC] Someone who is endowed with privileges on
  255.    {IRC}, not limited to a particular channel.  These are generally
  256.    people who are in charge of the IRC server at their particular
  257.    site.  Sometimes used interchangeably with {CHOP}.  Compare
  258.    {sysop}.  2. In England and Ireland, common verbal abbreviation
  259.    for `operator', as in system operator.  Less common in the U.S.,
  260.    where {sysop} seems to be preferred.
  261.  
  262. :overflow pdl: [MIT] n. The place where you put things when your
  263.    {pdl} is full.  If you don't have one and too many things get
  264.    pushed, you forget something.  The overflow pdl for a person's
  265.    memory might be a memo pad.  This usage inspired the following
  266.    doggerel:
  267.  
  268.      Hey, diddle, diddle
  269.      The overflow pdl
  270.         To get a little more stack;
  271.      If that's not enough
  272.      Then you lose it all,
  273.         And have to pop all the way back.
  274.                                     --The Great Quux
  275.  
  276.    The term {pdl} seems to be primarily an MITism; outside MIT this
  277.    term is replaced by `overflow {stack}'.
  278.  
  279. :programming fluid: n. 1. Coffee.  2. Cola.  3. Any caffeinacious
  280.    stimulant.  Many hackers consider these essential for those
  281.    all-night hacking runs.  See {unleaded}, {wirewater}.
  282.  
  283. :robot: [IRC, MUD] n. An {IRC} or {MUD} user who is actually
  284.    a program.  On IRC, typically the robot provides some useful
  285.    service.  Examples are NickServ, which tries to prevent random
  286.    users from adopting {nick}s already claimed by others, and
  287.    MsgServ, which allows one to send asynchronous messages to be
  288.    delivered when the recipient signs on.  Also common are
  289.    "annoybots", such as KissServ, which perform no useful function
  290.    except to send cute messages to other people.  Service robots are
  291.    less common on MUDs; but some others, such as the `Julia' robot
  292.    active in 1990--91, have been remarkably impressive Turing-test
  293.    experiments, able to pass as human for as long as ten or fifteen
  294.    minutes of conversation.
  295.  
  296. :samurai: n. A hacker who hires out for legal cracking jobs,
  297.    snooping for factions in corporate political fights, lawyers
  298.    pursuing privacy-rights and First Amendment cases, and other
  299.    parties with legitimate reasons to need an electronic locksmith.
  300.    In 1991, mainstream media reported the existence of a loose-knit
  301.    culture of samurai that meets electronically on BBS systems, mostly
  302.    bright teenagers with personal micros; they have modeled
  303.    themselves explicitly on the historical samurai of Japan and on the
  304.    "net cowboys" of William Gibson's {cyberpunk} novels.  Those
  305.    interviewed claim to adhere to a rigid ethic of loyalty to their
  306.    employers and to disdain the vandalism and theft practiced by
  307.    criminal crackers as beneath them and contrary to the hacker ethic;
  308.    some quote Miyamoto Musashi's `Book of Five Rings', a classic
  309.    of historical samurai doctrine, in support of these principles.
  310.    See also {Stupids}, {social engineering}, {cracker},
  311.    {hacker ethic, the}, and {dark-side hacker}.
  312.  
  313. :social engineering: n. Term used among {cracker}s and
  314.    {samurai} for cracking techniques that rely on weaknesses in
  315.    {wetware} rather than software; the aim is to trick people into
  316.    revealing passwords or other information that compromises a target
  317.    system's security.  Classic scams include phoning up a mark who has
  318.    the required information and posing as a field service tech or a
  319.    fellow employee with an urgent access problem.  See also the
  320.    {tiger team} story in the {patch} entry.
  321.  
  322. :Stupids: n. Term used by {samurai} for the {suit}s who
  323.    employ them; succinctly expresses an attitude at least as common,
  324.    though usually better disguised, among other subcultures of
  325.    hackers.  There may be intended reference here to an SF story
  326.    originally published in 1952 but much anthologized since, Mark
  327.    Clifton's `Star, Bright'.  In it, a super-genius child
  328.    classifies humans into a very few `Brights' like herself, a huge
  329.    majority of `Stupids', and a minority of `Tweens', the merely
  330.    ordinary geniuses.
  331.  
  332. :Turing tar-pit: n. 1. A place where anything is possible but
  333.    nothing of interest is practical.  Alan Turing helped lay the
  334.    foundations of computer science by showing that all machines and
  335.    languages capable of expressing a certain very primitive set of
  336.    operations are logically equivalent in the kinds of computations
  337.    they can carry out, and in principle have capabilities that differ
  338.    only in speed from those of the most powerful and elegantly
  339.    designed computers.  However, no machine or language exactly
  340.    matching Turing's primitive set has ever been built (other than
  341.    possibly as a classroom exercise), because it would be horribly
  342.    slow and far too painful to use.  A `Turing tar-pit' is any
  343.    computer language or other tool that shares this property.  That
  344.    is, it's theoretically universal --- but in practice, the harder
  345.    you struggle to get any real work done, the deeper its inadequacies
  346.    suck you in.  Compare {bondage-and-discipline language}.  2. The
  347.    perennial {holy wars} over whether language A or B is the "most
  348.    powerful".
  349.  
  350. :tweeter: [University of Waterloo] n. Syn. {perf}, {chad}
  351.    (sense 1).  This term (like {woofer}) has been in use at
  352.    Waterloo since 1972 but is elsewhere unknown.  In audio jargon, the
  353.    word refers to the treble speaker(s) on a hi-fi.
  354.  
  355. :twilight zone: [IRC] n. Notionally, the area of cyberspace where {IRC}
  356.    operators live.  An {op} is said to have a "connection to the
  357.    twilight zone".
  358.    
  359. :unroll: v. To repeat the body of a loop several times in succession.
  360.    This optimization technique reduces the number of times the
  361.    loop-termination test has to be executed.  But it only works if
  362.    the number of iterations desired is a multiple of the number of
  363.    repetitions of the body.  Something has to be done to take care
  364.    of any leftover iterations --- such as {Duff's device}.
  365.  
  366. :woofer: [University of Waterloo] n. Some varieties of wide paper
  367.    for printers have a perforation 8.5 inches from the left margin
  368.    that allows the excess on the right-hand side to be torn off when
  369.    the print format is 80 columns or less wide.  The right-hand excess
  370.    may be called `woofer'.  This term (like {tweeter}, which see)
  371.    has been in use at Waterloo since 1972, but is elsewhere unknown.
  372.    In audio jargon, the word refers to the bass speaker(s) on a hi-fi.
  373.  
  374. :WYSIAYG: /wiz'ee-ayg/ adj. Describes a user interface under
  375.    which "What You See Is *All* You Get"; an unhappy variant of
  376.    {WYSIWYG}.  Visual, `point-and-shoot'-style interfaces tend to
  377.    have easy initial learning curves, but also to lack depth; they
  378.    often frustrate advanced users who would be better served by a
  379.    command-style interface.  When this happens, the frustrated user
  380.    has a WYSIAYG problem.  This term is most often used of editors,
  381.    word processors, and document formatting programs.  WYSIWYG
  382.    `desktop publishing' programs, for example, are a clear win for
  383.    creating small documents with lots of fonts and graphics in them,
  384.    especially things like newsletters and presentation slides.  When
  385.    typesetting book-length manuscripts, on the other hand, scale
  386.    changes the nature of the task; one quickly runs into WYSIAYG
  387.    limitations, and the increased power and flexibility of a
  388.    command-driven formatter like {{TeX}} or UNIX's `troff(1)'
  389.    becomes not just desirable but a necessity.  Compare {YAFIYGI}.
  390.  
  391.  
  392. **************** New entries in 2.9.8 *****************
  393.  
  394. :command key: [Mac users] n. Syn. {feature key}.
  395.  
  396. :cracking: n. The act of breaking into a computer system; what a
  397.    {cracker} does.  Contrary to widespread myth, this does not
  398.    usually involve some mysterious leap of hackerly brilliance, but
  399.    rather persistence and the dogged repetition of a handful of fairly
  400.    well-known tricks that exploit common weaknesses in the security of
  401.    target systems.  Accordingly, most crackers are only mediocre
  402.    hackers.
  403.  
  404. :feature key: n. The Macintosh key with the cloverleaf graphic on
  405.    its keytop; sometimes referred to as `flower', `pretzel',
  406.    `clover', `propeller', `beanie' (an apparent reference to the
  407.    major feature of a propeller beanie), {splat}, or the `command
  408.    key'.  The Mac's equivalent of an {alt} key (and so labeled omed
  409.    on the Mac II).  The proliferation of terms for this creature may
  410.    illustrate one subtle peril of iconic interfaces.
  411.  
  412.    Many people have been mystified by the cloverleaf-like symbol that
  413.    appears on the feature key.  Its oldest name is `cross of St.
  414.    Hannes', but it occurs in pre-Christian Viking art as a decorative
  415.    motif.  Throughout Scandinavia today the road agencies use it to
  416.    mark sites of historical interest.  Though this symbol technically
  417.    stands for the word `sev"ardhet' (interesting feature) many of
  418.    these are old churches; hence, the Swedish idiom for the symbol is
  419.    `kyrka', cognate to English `church' and Scots-dialect `kirk' but
  420.    pronounced /shir'k*/ in modern Swedish.  This is in fact where
  421.    Apple got the symbol; Apple gives the translation "interesting
  422.    feature"!
  423.  
  424. :fork bomb: [UNIX] n. A particular species of {wabbit} that can
  425.    be written in one line of C (`main() {for(;;)fork();}') or shell
  426.    (`$0 & $0 &') on any UNIX system, or occasionally created by an
  427.    egregious coding bug.  A fork bomb process `explodes' by
  428.    recursively spawning copies of itself (using the UNIX system call
  429.    `fork(2)').  Eventually it eats all the process table entries
  430.    and effectively wedges the system.  Fortunately, fork bombs are
  431.    relatively easy to spot and kill, so creating one deliberately
  432.    seldom accomplishes more than to bring the just wrath of the gods
  433.    down upon the perpetrator.  See also {logic bomb}.
  434.  
  435. :Great Worm, the: n. The 1988 Internet {worm} perpetrated by
  436.    {RTM}.  This is a play on Tolkien (compare {elvish},
  437.    {elder days}).  In the fantasy history of his Middle Earth
  438.    books, there were dragons powerful enough to lay waste to entire
  439.    regions; two of these (Scatha and Glaurung) were known as "the
  440.    Great Worms".  This usage expresses the connotation that the RTM
  441.    hack was a sort of devastating watershed event in hackish history;
  442.    certainly it did more to make non-hackers nervous about the
  443.    Internet than anything before or since.
  444.  
  445. :hacker ethic, the: n. 1. The belief that information-sharing
  446.    is a powerful positive good, and that it is an ethical duty of
  447.    hackers to share their expertise by writing free software and
  448.    facilitating access to information and to computing resources
  449.    wherever possible.  2. The belief that system-cracking for fun
  450.    and exploration is ethically OK as long as the cracker commits
  451.    no theft, vandalism, or breach of confidentiality.
  452.   
  453.    Both of these normative ethical principles are widely, but by no
  454.    means universally, accepted among hackers. Most hackers subscribe
  455.    to the hacker ethic in sense 1, and many act on it by writing and
  456.    giving away free software.  A few go further and assert that
  457.    *all* information should be free and *any* proprietary
  458.    control of it is bad; this is the philosophy behind the {GNU}
  459.    project.
  460.  
  461.    Sense 2 is more controversial: some people consider the act of
  462.    cracking itself to be unethical, like breaking and entering.
  463.    But this principle at least moderates the behavior of people who
  464.    see themselves as `benign' crackers (see also {samurai}).  On
  465.    this view, it is one of the highest forms of hackerly courtesy
  466.    to (a) break into a system, and then (b) explain to the sysop,
  467.    preferably by email from a {superuser} account, exactly how it
  468.    was done and how the hole can be plugged --- acting as an
  469.    unpaid (and unsolicited) {tiger team}.
  470.  
  471.    The most reliable manifestation of either version of the hacker
  472.    ethic is that almost all hackers are actively willing to share
  473.    technical tricks, software, and (where possible) computing
  474.    resources with other hackers.  Huge cooperative networks such as
  475.    {USENET}, {FidoNet} and Internet (see {Internet address})
  476.    can function without central control because of this trait; they
  477.    both rely on and reinforce a sense of community that may be
  478.    hackerdom's most valuable intangible asset.
  479.  
  480. :kyrka: /shir'k*/ [Swedish] n. See {feature key}.
  481.  
  482. :netter: n. 1. Loosely, anyone with a {network address}.  2. More
  483.    specifically, a {USENET} regular.  Most often found in the
  484.    plural.  "If you post *that* in a technical group, you're
  485.    going to be flamed by angry netters for the rest of time!"
  486.  
  487. :smurf: /smerf/ [from the soc.motss newsgroup on USENET,
  488.    after some obnoxiously gooey cartoon characters] n. A newsgroup
  489.    regular with a habitual style that is irreverent, silly, and
  490.    cute.  Like many other hackish terms for people, this one may
  491.    be praise or insult depending on who uses it.  In general, being
  492.    referred to as a smurf is probably not going to make your day
  493.    unless you've previously adopted the label yourself in a spirit of
  494.    irony.  Compare {old fart}.
  495.  
  496. :whalesong: n. The peculiar clicking and whooshing sounds made by a
  497.    PEP modem such as the Telebit Trailblazer as it tries to
  498.    synchronize with another PEP modem for their special high-speed
  499.    mode.  This sound isn't anything like the normal two-tone handshake
  500.    between conventional modems and is instantly recognizable to anyone
  501.    who has heard it more than once.  It sounds, in fact, very much
  502.    like whale songs.  This noise is also called "the moose call" or
  503.    "moose tones".
  504.  
  505. :XEROX PARC: The famed Palo Alto Research Center.  For more than a
  506.    decade, from the early 1970s into the mid-1980s, PARC yielded an
  507.    astonishing volume of groundbreaking hardware and software
  508.    innovations.  The modern mice, windows, and icons style of software
  509.    interface was invented there.  So was the laser printer and the
  510.    local-area network; and PARC's series of D machines anticipated the
  511.    powerful personal computers of the 1980s by a decade.  Sadly, the
  512.    prophets at PARC were without honor in their own company, so much
  513.    so that it became a standard joke to describe PARC as a place that
  514.    specialized in developing brilliant ideas for everyone else.
  515.  
  516.    The stunning shortsightedness and obtusity of XEROX's top-level
  517.    {suit}s has been well anatomized in `Fumbling The Future:
  518.    How XEROX Invented, Then Ignored, the First Personal Computer' by
  519.    Douglas K. Smith and Robert C. Alexander (William Morrow & Co,
  520.    1988, ISBN 0-688-09511-9).
  521.  
  522.  
  523. **************** New entries in 2.9.9 *****************
  524.  
  525. :AIDX: n. /aydkz/ n. Derogatory term for IBM's perverted version
  526.    of UNIX, AIX, especially for the AIX 3.? used in the IBM RS/6000
  527.    series.  A victim of the dreaded "hybridism" disease, this
  528.    attempt to combine the two main currents of the UNIX stream
  529.    ({BSD} and {USG UNIX}) became a {monstrosity} to haunt
  530.    system administrators' dreams.  For example, if new accounts are
  531.    created while many users are logged on, the load average jumps
  532.    quickly over 20 due to silly implementation of the user databases.
  533.    For a quite similar disease, compare {HP-SUX}.  Also, compare
  534.    {terminak}, {Macintrash} {Nominal Semidestructor},
  535.    {Open DeathTrap}, {ScumOS}, {sun-stools}.
  536.  
  537. :barfmail: n. Multiple {bounce message}s accumulating to the
  538.    level of serious annoyance, or worse.  The sort of thing that
  539.    happens when an inter-network mail gateway goes down or
  540.    wonky.
  541.  
  542. :barney: n. In Commonwealth hackish, `barney' is to {fred}
  543.    (sense #1) as {bar} is to {foo}.  That is, people who
  544.    commonly use `fred' as their first metasyntactic variable will
  545.    often use `barney' second.  The reference is, of course, to Fred
  546.    Flintstone and Barney Rubble in the Flintstones cartoons.
  547.  
  548. :BLOB: [acronym, Binary Large OBject] n. Used by database people to
  549.    refer to any random large block of bits that needs to be stored in
  550.    a database, such as a picture or sound file.  The essential point
  551.    about a BLOB is that it's an object that cannot be interpreted
  552.    within the database itself.
  553.  
  554. :blurgle: /bler'gl/ [Great Britain] n. Spoken {metasyntactic
  555.    variable}, to indicate some text that is obvious from context, or
  556.    which is already known. If several words are to be replaced,
  557.    blurgle may well be doubled or trebled. "To look for something in
  558.    several files use `grep string blurgle blurgle'."  In each case,
  559.    "blurgle blurgle" would be understood to be replaced by the file
  560.    you wished to search.  Compare {mumble}, sense 6.
  561.  
  562. :brain fart: n. The actual result of a {braino}, as opposed to
  563.    the mental glitch that is the braino itself.  E.g., typing
  564.    `dir' on a UNIX box after a session with DOS.
  565.  
  566. :C Programmer's Disease: n. The tendency of the undisciplined C
  567.    programmer to set arbitrary but supposedly generous static limits
  568.    on table sizes (defined, if you're lucky, by constants in header
  569.    files) rather than taking the trouble to do proper dynamic storage
  570.    allocation.  If an application user later needs to put 68 elements
  571.    into a table of size 50, the afflicted programmer reasons that he
  572.    or she can easily reset the table size to 68 (or even as much as
  573.    70, to allow for future expansion) and recompile.  This gives the
  574.    programmer the comfortable feeling of having made the effort to
  575.    satisfy the user's (unreasonable) demands, and often affords the
  576.    user multiple opportunities to explore the marvelous consequences
  577.    of {fandango on core}.  In severe cases of the disease, the
  578.    programmer cannot comprehend why each fix of this kind seems only
  579.    to further disgruntle the user.
  580.  
  581. :candygrammar: n. A programming-language grammar that is mostly
  582.    {syntactic sugar}; the term is also a play on `candygram'.
  583.    {COBOL}, Apple's Hypertalk language, and a lot of the so-called
  584.    `4GL' database languages share this property.  The usual intent
  585.    of such designs is that they be as English-like as possible, on the
  586.    theory that they will then be easier for unskilled people to
  587.    program.  This intention comes to grief on the reality that syntax
  588.    isn't what makes programming hard; it's the mental effort and
  589.    organization required to specify an algorithm precisely that
  590.    costs.  Thus the invariable result is that `candygrammar'
  591.    languages are just as difficult to program in as terser ones, and
  592.    far more painful for the experienced hacker.
  593.  
  594.    [The overtones from the old Chevy Chase skit on Saturday Night Live
  595.    should not be overlooked.  This was a "Jaws" parody.
  596.    Someone lurking outside an apartment door tries all kinds of bogus
  597.    ways to get the occupant to open up, while ominous music plays in
  598.    the background.  The last attempt is a half-hearted "Candygram!"
  599.    When the door is opened, a shark bursts in and chomps the poor
  600.    occupant.  There is a moral here for those attracted to
  601.    candygrammars.  Note that, in many circles, pretty much the same
  602.    ones who remember Monty Python sketches, all it takes is the word
  603.    "Candygram!", suitably timed, to get people rolling on the
  604.    floor. --- GLS]
  605.  
  606. :cd tilde: /C-D til-d*/ vi.  To go home.  From the UNIX C-shell
  607.    and Korn-shell command `cd ~', which takes one to
  608.    one's `$HOME' (`cd' with no arguments happens to do the
  609.    same thing).  By extension, may be used with other arguments; thus,
  610.    over an electronic chat link, `cd ~coffee' would
  611.    mean "I'm going to the coffee machine."
  612.  
  613. :confuser: n. Common soundalike slang for `computer'.  Usually
  614.    encountered in compounds such as `confuser room', `personal
  615.    confuser', `confuser guru'.  Usage: silly.
  616.  
  617. :cooked mode: [UNIX, by opposition with {raw mode}] n. The
  618.    normal character-input mode, with interrupts enabled and with
  619.    erase, kill and other special-character interpretations performed
  620.    directly by the tty driver.  Oppose {raw mode}, {rare mode}.
  621.    This term is techspeak under UNIX but jargon elsewhere; other
  622.    operating systems often have similar mode distinctions, and the
  623.    raw/rare/cooked way of describing them has spread widely along with
  624.    the C language and other UNIX exports.  Most generally, `cooked
  625.    mode' may refer to any mode of a system that does extensive
  626.    preprocessing before presenting data to a program.
  627.  
  628. :copious free time: [Apple; orig. fr. the intro to Tom Lehrer's
  629.    song "It Makes A Fellow Proud To Be A Soldier"] n. 1. [used
  630.    ironically to indicate the speaker's lack of the quantity in
  631.    question] A mythical schedule slot for accomplishing tasks held to
  632.    be unlikely or impossible.  Sometimes used to indicate that the
  633.    speaker is interested in accomplishing the task, but believes that
  634.    the opportunity will not arise.  "I'll implement the automatic
  635.    layout stuff in my copious free time."  2. [Archly] Time reserved
  636.    for bogus or otherwise idiotic tasks, such as implementation of
  637.    {chrome}, or the stroking of {suit}s.  "I'll get back to him
  638.    on that feature in my copious free time."
  639.  
  640. :dead: adj. 1. Non-functional; {down}; {crash}ed.  Especially
  641.    used of hardware.  2. At XEROX PARC, software that is working but
  642.    not undergoing continued development and support.
  643.  
  644. :death code: n. A routine whose job is to set everything in the
  645.    computer --- registers, memory, flags, everything --- to zero,
  646.    including that portion of memory where it is running; its last act
  647.    is to stomp on its own "store zero" instruction.  Death code
  648.    isn't very useful, but writing it is an interesting hacking
  649.    challenge on architectures where the instruction set makes it
  650.    possible, such as the PDP-8 (it has also been done on the DG Nova).
  651.  
  652.    Perhaps the ultimate death code is on the TI 990 series, where all
  653.    registers are actually in RAM, and the instruction "store
  654.    immediate 0" has the opcode "0". The PC will immediately wrap
  655.    around core as many times as it can until a user hits HALT.  Any
  656.    empty memory location is death code.  Worse, the manufacturer
  657.    recommended use of this instruction in startup code (which would be
  658.    in ROM and therefore survive).
  659.  
  660. :die: v. Syn. {crash}.  Unlike {crash}, which is used
  661.    primarily of hardware, this verb is used of both hardware and
  662.    software.  See also {go flatline}, {casters-up mode}.
  663.  
  664. :die horribly: v. The software equivalent of {crash and burn},
  665.    and the preferred emphatic form of {die}.  "The converter
  666.    choked on an FF in its input and died horribly".
  667.  
  668. :dirtball: [XEROX PARC] n. A small, perhaps struggling outsider;
  669.    not in the major or even the minor leagues.  For example, "Xerox
  670.    is not a dirtball company".
  671.  
  672.    [Outsiders often observe in the PARC culture an institutional
  673.    arrogance which usage of this term exemplifies.  The brilliance and
  674.    scope of PARC's contributions to computer science have been such
  675.    that this superior attitude is not much resented.  --- ESR]
  676.  
  677. :error 33: [XEROX PARC] n. 1. Predicating one research effort upon
  678.    the success of another.  2. Allowing your own research effort to be
  679.    placed on the critical path of some other project (be it a research
  680.    effort or not).
  681.  
  682. :fat electrons: n. Old-time hacker David Cargill's theory on the
  683.    causation of computer glitches.  Your typical electric utility
  684.    draws its line current out of the big generators with a pair of
  685.    coil taps located near the top of the dynamo.  When the normal tap
  686.    brushes get dirty, they take them off line to clean them up, and use
  687.    special auxiliary taps on the *bottom* of the coil.  Now,
  688.    this is a problem, because when they do that they get not ordinary
  689.    or `thin' electrons, but the fat'n'sloppy electrons that are
  690.    heavier and so settle to the bottom of the generator.  These flow
  691.    down ordinary wires just fine, but when they have to turn a sharp
  692.    corner (as in an integrated-circuit via), they're apt to get stuck.
  693.    This is what causes computer glitches.  [Fascinating.  Obviously,
  694.    fat electrons must gain mass by {bogon} absorption --- ESR]
  695.    Compare {bogon}, {magic smoke}.
  696.  
  697. :fontology: [XEROX PARC] n. The body of knowledge dealing with the
  698.    construction and use of new fonts (e.g., for window systems and
  699.    typesetting software).  It has been said that fontology
  700.    recapitulates file-ogeny.
  701.  
  702.    [Unfortunately, this reference to the embryological dictum that
  703.    "Ontogeny recapitulates phylogeny" is not merely a joke.  On the
  704.    Macintosh, for example, System 7 has to go through contortions to
  705.    compensate for an earlier design error that created a whole
  706.    different set of abstractions for fonts parallel to `files' and
  707.    `folders' --- ESR]
  708.  
  709. :for values of: [MIT] A common rhetorical maneuver at MIT is to use
  710.    any of the canonical {random numbers} as placeholders for
  711.    variables.  "The max function takes 42 arguments, for arbitrary
  712.    values of 42."  "There are 69 ways to leave your lover, for
  713.    69 = 50."  This is especially likely when the speaker has uttered
  714.    a random number and realizes that it was not recognized as such,
  715.    but even `non-random' numbers are occasionally used in this
  716.    fashion.  A related joke is that pi equals 3 --- for
  717.    small values of pi and large values of 3.
  718.  
  719.    Historical note: this usage probably derives from the programming
  720.    language MAD (Michigan Algorithm Decoder), an Algol-like language
  721.    that was the most common choice among mainstream (non-hacker) users
  722.    at MIT in the mid-60s.  It had a control structure FOR VALUES OF X
  723.    = 3, 7, 99 DO ... that would repeat the indicated instructions for
  724.    each value in the list (unlike the usual FOR that only works for
  725.    arithmetic sequences of values).  MAD is long extinct, but similar
  726.    for-constructs still flourish (e.g., in UNIX's shell languages).
  727.  
  728. :frogging: [University of Waterloo] v. 1. Partial corruption of a
  729.    text file or input stream by some bug or consistent glitch, as
  730.    opposed to random events like line noise or media failures.  Might
  731.    occur, for example, if one bit of each incoming character on a tty
  732.    were stuck, so that some characters were correct and others were
  733.    not.  See {terminak} for a historical example.  2. By extension,
  734.    accidental display of text in a mode where the output device emits
  735.    special symbols or mnemonics rather than conventional ASCII.  This
  736.    often happens, for example, when using a terminal or comm program
  737.    on a device like an IBM PC with a special `high-half' character set
  738.    and with the bit-parity assumption wrong.  A hacker sufficiently
  739.    familiar with ASCII bit patterns might be able to read the display
  740.    anyway.
  741.  
  742. :fum: [XEROX PARC] n. At PARC, often the third of the standard
  743.    {metasyntactic variable}s (after {foo} and {bar}).  Competes
  744.    with {baz}, which is more common outside PARC.
  745.  
  746. :guru meditation: n. Amiga equivalent of `panic' in UNIX
  747.    (sometimes just called a `guru' or `guru event').  When the
  748.    system crashes, a cryptic message of the form "GURU MEDITATION
  749.    #XXXXXXXX.YYYYYYYY" may appear, indicating what the problem
  750.    was.  An Amiga guru can figure things out from the numbers.
  751.    Generally a {guru} event must be followed by a {Vulcan nerve
  752.    pinch}.
  753.  
  754.    This term is (no surprise) an in-joke from the earliest days of the
  755.    Amiga.  There used to be a device called a `Joyboard' which was
  756.    basically a plastic board built onto a joystick-like device; it
  757.    was sold with a skiing game cartridge for the Atari game machine.
  758.    It is said that whenever the prototype OS crashed, the system
  759.    programmer responsible would calm down by concentrating on a
  760.    solution while sitting cross-legged on a Joyboard trying to keep
  761.    the board in balance.  This position resembled that of a
  762.    meditating guru.  Sadly, the joke was removed in AmigaOS 2.04.
  763.  
  764. :hammer: vt. Commonwealth hackish syn. for {bang on}.
  765.  
  766. :handle: n. 1. [from CB slang] An electronic pseudonym; a `nom
  767.    de guerre' intended to conceal the user's true identity.  Network
  768.    and BBS handles function as the same sort of simultaneous
  769.    concealment and display one finds on Citizen's Band radio, from
  770.    which the term was adopted.  Use of grandiose handles is
  771.    characteristic of {cracker}s, {weenie}s, {spod}s, and
  772.    other lower forms of network life; true hackers travel on their own
  773.    reputations rather than invented legendry.  2. [Mac] A pointer to a
  774.    pointer to dynamically-allocated memory; the extra level of
  775.    indirection allows on-the-fly memory compaction (to cut down on
  776.    fragmentation) or aging out of unused resources, with minimal
  777.    impact on the (possibly multiple) parts of the larger program
  778.    containing references to the allocated memory.  Compare {snap}
  779.    (to snap a handle would defeat its purpose); see also {aliasing
  780.    bug}, {dangling pointer}.
  781.  
  782. :haque: /hak/ [USENET] n. Variant spelling of {hack}, used
  783.    only for the noun form and connoting an {elegant} hack.
  784.  
  785. :jack in: v. To log on to a machine or connect to a network or
  786.    {BBS}, esp. for purposes of entering a {virtual reality}
  787.    simulation such as a {MUD} or {IRC} (leaving is "jacking
  788.    out").  This term derives from {cyberpunk} SF, in which it was
  789.    used for the act of plugging an electrode set into neural sockets
  790.    in order to interface the brain directly to a virtual reality.
  791.    It's primarily used by MUD and IRC fans and younger hackers on BBS
  792.    systems.
  793.  
  794. :Life is hard: [XEROX PARC] prov. This phrase has two possible
  795.    interpretations: (1) "While your suggestion may have some merit, I
  796.    will behave as though I hadn't heard it."  (2) "While your
  797.    suggestion has obvious merit, equally obvious circumstances prevent
  798.    it from being seriously considered."  The charm of the phrase lies
  799.    precisely in this subtle but important ambiguity.
  800.  
  801. :line 666: [from Christian eschatological myth] n. The notational
  802.    line of source at which a program fails for obscure reasons,
  803.    implying either that *somebody* is out to get it (when you are
  804.    the programmer), or that it richly deserves to be so gotten (when
  805.    you are not). "It works when I trace through it, but seems to
  806.    crash on line 666 when I run it."  "What happens is that whenever
  807.    a large batch comes through, mmdf dies on the Line of the Beast.
  808.    Probably some twit hardcoded a buffer size."
  809.  
  810. :line noise: n. 1. [techspeak] Spurious characters due to
  811.    electrical noise in a communications link, especially an RS-232
  812.    serial connection.  Line noise may be induced by poor connections,
  813.    interference or crosstalk from other circuits, electrical storms,
  814.    {cosmic rays}, or (notionally) birds crapping on the phone
  815.    wires.  2. Any chunk of data in a file or elsewhere that looks like
  816.    the results of line noise in sense 1.  3. Text that is
  817.    theoretically a readable text or program source but employs syntax
  818.    so bizarre that it looks like line noise in senses 1 or 2.  Yes,
  819.    there are languages this ugly.  The canonical example is {TECO};
  820.    it is often claimed that "TECO's input syntax is indistinguishable
  821.    from line noise."  Other non-{WYSIWYG} editors, such as Multics
  822.    `qed' and Unix `ed', in the hands of a real hacker, also
  823.    qualify easily, as do deliberately obfuscated languages such as
  824.    {INTERCAL}.
  825.  
  826. :loose bytes: n. Commonwealth hackish term for the padding bytes or
  827.    {shim}s many compilers insert between members of a record or
  828.    structure to cope with alignment requirements imposed by the
  829.    machine architecture.
  830.  
  831. :memory smash: [XEROX PARC] n. Writing through a pointer that
  832.    doesn't point to what you think it does.  This occasionally reduces
  833.    your machine to a rubble of bits.  Note that this is subtly
  834.    different from (and more general than) related terms such as a
  835.    {memory leak} or {fandango on core} because it doesn't imply
  836.    an allocation error or overrun condition.
  837.  
  838. :metasyntactic variable: n. A name used in examples and understood
  839.    to stand for whatever thing is under discussion, or any random
  840.    member of a class of things under discussion.  The word {foo} is
  841.    the {canonical} example.  To avoid confusion, hackers never
  842.    (well, hardly ever) use `foo' or other words like it as permanent
  843.    names for anything.  In filenames, a common convention is that any
  844.    filename beginning with a metasyntactic-variable name is a
  845.    {scratch} file that may be deleted at any time.
  846.  
  847.    To some extent, the list of one's preferred metasyntactic variables
  848.    is a cultural signature.  They occur both in series (used for
  849.    related groups of variables or objects) and as singletons.  Here
  850.    are a few common signatures:
  851.  
  852.      {foo}, {bar}, {baz}, {quux}, quuux, quuuux...:
  853.              MIT/Stanford usage, now found everywhere (thanks largely to early
  854.              versions of this lexicon!).  At MIT, {baz} dropped out of use for
  855.              a while in the 1970s and '80s. A common recent mutation of this
  856.              sequence inserts {qux} before {quux}.
  857.      {foo}, {bar}, thud, grunt:
  858.              This series was popular at CMU.  Other CMU-associated variables
  859.              include {gorp}.
  860.      {foo}, {bar}, fum:
  861.              This series is reported to be common at XEROX PARC.
  862.      {fred}, {barney}:
  863.              See the entry for {fred}.  These tend to be Britishisms.
  864.      {toto}, titi, tata, tutu:
  865.              Standard series of metasyntactic variables among francophones.
  866.      {corge}, {grault}, {flarp}:
  867.              Popular at Rutgers University and among {GOSMACS} hackers.
  868.      zxc, spqr, {wombat}:
  869.              Cambridge University (England).
  870.      shme
  871.              Berkeley, GeoWorks.  Pronounced /shmee/.
  872.      {foo}, {bar}, zot
  873.              Helsinki University of Technology, Finland.
  874.      blarg, wibble
  875.              New Zealand
  876.  
  877.    Of all these, only `foo' and `bar' are universal (and {baz}
  878.    nearly so).  The compounds {foobar} and `foobaz' also enjoy
  879.    very wide currency.  
  880.  
  881.    Some jargon terms are also used as metasyntactic names; {barf}
  882.    and {mumble}, for example.  See also {{Commonwealth Hackish}}
  883.    for discussion of numerous metasyntactic variables found in Great
  884.    Britain and the Commonwealth.
  885.  
  886. :muddie: n. Syn. {mudhead}.  More common in Great Britain, possibly
  887.    because system administrators there like to mutter "bloody
  888.    muddies" when annoyed at the species.
  889.  
  890. :nadger: /nad'jr/ [Great Britain] v. Of software or hardware (not
  891.    people), to twiddle some object in a hidden manner, generally so
  892.    that it conforms better to some format.  For instance, string
  893.    printing routines on 8-bit processors often take the string text
  894.    from the instruction stream, thus a print call looks like `jsr
  895.    print:"Hello world"'. The print routine has to `nadger' the
  896.    return instruction pointer so that the processor doesn't try to
  897.    execute the text as instructions.
  898.  
  899. :netsplit: n. Syn. {netburp}.
  900.  
  901. :Nominal Semidestructor: n. Sound-alike slang for `National
  902.    Semiconductor', found among other places in the 4.3BSD networking
  903.    sources.  During the late 1970s to mid-1980s this company marketed
  904.    a series of microprocessors including the NS16000 and NS32000 and
  905.    several variants.  At one point early in the great microprocessor
  906.    race, the specs on these chips made them look like serious
  907.    competition for the rising Intel 80x86 and Motorola 680x0 series.
  908.    Unfortunately, the actual parts were notoriously flaky and never
  909.    implemented the full instruction set promised in their literature,
  910.    apparently because the company couldn't get any of the mask
  911.    steppings to work as designed.  They eventually sank without trace,
  912.    joining the Zilog Z80,000 and a few even more obscure also-rans in
  913.    the graveyard of forgotten microprocessors.  Compare {HP-SUX},
  914.    {AIDX}, {buglix}, {Macintrash}, {Telerat}, {Open
  915.    DeathTrap}, {ScumOS}, {sun-stools}.
  916.  
  917. :one-banana problem: n. At mainframe shops, where the computers
  918.    have operators for routine administrivia, the programmers and
  919.    hardware people tend to look down on the operators and claim that a
  920.    trained monkey could do their job.  It is frequently observed that
  921.    the incentives that would be offered said monkeys can be used as a
  922.    scale to describe the difficulty of a task.  A one-banana problem
  923.    is simple; hence, "It's only a one-banana job at the most; what's
  924.    taking them so long?"
  925.  
  926.    At IBM, folklore divides the world into one-, two-, and
  927.    three-banana problems.  Other cultures have different hierarchies
  928.    and may divide them more finely; at ICL, for example, five grapes
  929.    (a bunch) equals a banana.  Their upper limit for the in-house
  930.    {sysape}s is said to be two bananas and three grapes (another
  931.    source claims it's three bananas and one grape, but observes
  932.    "However, this is subject to local variations, cosmic rays and
  933.    ISO").  At a complication level any higher than that, one asks the
  934.    manufacturers to send someone around to check things.
  935.  
  936.    See also {Infinite-Monkey Theorem}.
  937.  
  938. :optical diff: n. See {vdiff}.
  939.  
  940. :phase-wrapping: [MIT] n. Syn. {wrap around}, sense 2.
  941.  
  942. :plaid screen: [XEROX PARC] n. A `special effect' that occurs
  943.    when certain kinds of {memory smash}es overwrite the control
  944.    blocks or image memory of a bit-mapped display.  The term "salt and
  945.    pepper" may refer to a different pattern of similar origin.
  946.    Though the term as coined at PARC refers to the result of an error,
  947.    some of the {X} demos induce plaid-screen effects deliberately
  948.    as a {display hack}.
  949.  
  950. :point-and-drool interface: n. Parody of the techspeak term
  951.    `point-and-shoot interface', describing a windows, icons, and
  952.    mice-based interface such as is found on the Macintosh.  The
  953.    implication, of course, is that such an interface is only suitable
  954.    for idiots.  See {for the rest of us}, {WIMP environment},
  955.    {Macintrash}, {drool-proof paper}.  Also `point-and-grunt
  956.    interface'.
  957.  
  958. :power hit: n. A spike or drop-out in the electricity supplying
  959.    your machine; a power {glitch}.  These can cause crashes and
  960.    even permanent damage to your machine(s).
  961.  
  962. :printing discussion: [PARC] n. A protracted, low-level,
  963.    time-consuming, generally pointless discussion of something only
  964.    peripherally interesting to all.
  965.  
  966. :register dancing: n. Many older processor architectures suffer
  967.    from a serious shortage of general-purpose registers.  This is
  968.    especially a problem for compiler-writers, because their generated
  969.    code needs places to store temporaries for things like intermediate
  970.    values in expression evaluation.  Some designs with this problem,
  971.    like the Intel 80x86, do have a handful of special-purpose
  972.    registers that can be pressed into service, providing suitable care
  973.    is taken to avoid unpleasant side effects on the state of the
  974.    processor: while the special-purpose register is being used to hold
  975.    an intermediate value, a delicate minuet is required in which the
  976.    previous value of the register is saved and then restored just before
  977.    the official function (and value) of the special-purpose register is
  978.    again needed.
  979.  
  980. :RTBM: /R-T-B-M/ [UNIX] imp. Commonwealth Hackish variant of
  981.    {RTFM}; expands to `Read The Bloody Manual'.  RTBM is often the
  982.    entire text of the first reply to a question from a {newbie};
  983.    the *second* would escalate to "RTFM".
  984.  
  985. :RTFB: /R-T-F-B/ [UNIX] imp. Acronym for `Read The Fucking
  986.    Binary'.  Used when neither documentation nor the the source for the
  987.    problem at hand exists, and the only thing to do is use some
  988.    debugger or monitor and directly analyze the assembler or even
  989.    the machine code.  "No source for the buggy port driver?  Aaargh! I
  990.    *hate* proprietary operating systems.  Time to RTFB."
  991.  
  992. :RTFS: /R-T-F-S/ [UNIX] 1. imp. Acronym for `Read The Fucking
  993.    Source'.  Stronger form of {RTFM}, used when the problem
  994.    at hand is not necessarily obvious and not available from
  995.    the manuals --- or the manuals are not yet written and maybe
  996.    never will be.  For even more tricky situations, see {RTFB}.
  997.    2. imp. `Read The Fucking Standard'; this oath can only be used when
  998.    the problem area (e.g., a language or operating system interface) has
  999.    actually been codified in a ratified standards document.  The
  1000.    existence of these standards documents (and the technically
  1001.    inappropriate but politically mandated compromises that they
  1002.    inevitably contain, and the stifling language in which they are
  1003.    invariably written, and the unbelievably tedious bureaucratic process
  1004.    by which they are produced) can be unnerving to hackers, who are used
  1005.    to a certain amount of ambiguity in the specifications of the systems
  1006.    they use.  (Hackers feel that such ambiguities are acceptable as long
  1007.    as the {Right Thing} to do is obvious to any thinking observer;
  1008.    sadly, this casual attitude towards specifications becomes unworkable
  1009.    when a system becomes popular in the {Real World}.)  Since a hacker
  1010.    is likely to feel that a standards document is both unnecessary and
  1011.    technically deficient, the deprecation inherent in this term may be
  1012.    directed as much against the standard as against the person who ought
  1013.    to read it.
  1014.  
  1015. :scag: vt. To destroy the data on a disk, either by corrupting the
  1016.   filesystem or by causing media damage.  "That last power hit scagged
  1017.   the system disk."  Compare {scrog}, {roach}.
  1018.  
  1019. :sig virus: n. A parasitic {meme} embedded in a {sig block}.
  1020.    There was a {meme plague} or fad for these on USENET in late
  1021.    1991.  Most were equivalents of "I am a .sig virus.  Please reproduce
  1022.    me in your .sig block.".  Of course, the .sig virus's memetic hook
  1023.    is the giggle value of going along with the gag; this, however,
  1024.    was a self-limiting phenomenon as more and more people picked up
  1025.    on the idea.  There were creative variants on it; some people
  1026.    stuck `sig virus antibody' texts in their sigs, and there was at
  1027.    least one instance of a sig virus eater.
  1028.  
  1029. :spod: [Great Britain] n. A lower form of life found on {talker
  1030.    system}s and {MUD}s.  The spod has few friends in {RL} and
  1031.    uses talkers instead, finding communication easier and preferable
  1032.    over the net.  He has all the negative traits of the {computer
  1033.    geek} without having any interest in computers per se.  Lacking any
  1034.    knowledge of or interest in how networks work, and considering his
  1035.    access a God-given right, he is a major irritant to sysadmins,
  1036.    clogging up lines in order to reach new MUDs, following passed-on
  1037.    instructions on how to sneak his way onto Internet ("Wow!  It's in
  1038.    America!") and complaining when he is not allowed to use busy
  1039.    routes.  A true spod will start any conversation with "Are you
  1040.    male or female?" (and follow it up with "Got any good
  1041.    numbers/IDs/passwords?") and will not talk to someone physically
  1042.    present in the same terminal room until they log onto the same
  1043.    machine that he is using and enter talk mode.  Compare {newbie},
  1044.    {tourist}, {weenie}, {twink}, {terminal junkie}.
  1045.  
  1046. :stone knives and bearskins: [ITS, prob. from the Star Trek Classic
  1047.    episode "The City on the Edge of Forever"] n. A term
  1048.    traditionally used by {ITS} fans to describe (and deprecate)
  1049.    computing environments they regard as less advanced, with the
  1050.    (often correct) implication that said environments were grotesquely
  1051.    primitive in light of what is known about good ways to design
  1052.    things.  As in "Don't get too used to the facilities here.  Once
  1053.    you leave MIT it's stone knives and bearskins as far as the eye can
  1054.    see".  Compare {steam-powered}.
  1055.  
  1056. :sun lounge: [Great Britain] n. The room where all the Sun
  1057.    workstations live.  The humor in this term comes from the fact
  1058.    that it's also in mainstream use to describe a solarium, and all
  1059.    those Sun workstations clustered together give off an amazing
  1060.    amount of heat.
  1061.  
  1062. :sysape: /sysape/ n. A rather derogatory term for a computer
  1063.    operator; a play on {sysop} common at sites that use the banana
  1064.    hierarchy of problem complexity (see {one-banana
  1065.    problem}).
  1066.  
  1067. :TANSTAAFL: /tan'sto-fl/ [acronym, from Robert Heinlein's
  1068.    classic `The Moon is a Harsh Mistress'.]  "There Ain't No
  1069.    Such Thing As A Free Lunch", often invoked when someone is balking
  1070.    at an ugly design requirement or the prospect of using an
  1071.    unpleasantly {heavyweight} technique.  "What? Don't tell me I
  1072.    have to implement a database back end to get my address book
  1073.    program to work!"  "Well, TANSTAAFL you know."  This phrase owes
  1074.    some of its popularity to the high concentration of science-fiction
  1075.    fans and political libertarians in hackerdom (see Appendix
  1076.    B).
  1077.  
  1078. :This can't happen: Less clipped variant of {can't happen}.
  1079.  
  1080. :thumb: n. The slider on a window-system scrollbar.  So called
  1081.    because moving it allows you to browse through the contents of a
  1082.    text window in a way analogous to thumbing through a book.
  1083.  
  1084. :whack: v. According to arch-hacker James Gosling, to "...modify a
  1085.    program with no idea whatsoever how it works." (See {whacker}.)
  1086.    It is actually possible to do this in nontrivial circumstances if
  1087.    the change is small and well-defined and you are very good at
  1088.    {glark}ing things from context.  As a trivial example, it is
  1089.    relatively easy to change all `stderr' writes to `stdout'
  1090.    writes in a piece of C filter code which remains otherwise
  1091.    mysterious.
  1092.  
  1093. :What's a spline?: [XEROX PARC] This phrase expands to: "You have
  1094.    just used a term that I've heard for a year and a half, and I feel
  1095.    I should know, but don't.  My curiosity has finally overcome my
  1096.    guilt."  The PARC lexicon adds "Moral: don't hesitate to ask
  1097.    questions, even if they seem obvious."
  1098.  
  1099.  
  1100. **************** New entries in 2.9.10 *****************
  1101.  
  1102. :0: Numeric zero, as opposed to the letter `O' (the 15th letter of
  1103.    the English alphabet).  In their unmodified forms they look a lot
  1104.    alike, and various kluges invented to make them visually distinct
  1105.    have compounded the confusion.  If your zero is center-dotted and
  1106.    letter-O is not, or if letter-O looks almost rectangular but zero
  1107.    looks more like an American football stood on end (or the reverse),
  1108.    you're probably looking at a modern character display (though the
  1109.    dotted zero seems to have originated as an option on IBM 3270
  1110.    controllers).  If your zero is slashed but letter-O is not, you're
  1111.    probably looking at an old-style ASCII graphic set descended from
  1112.    the default typewheel on the venerable ASR-33 Teletype
  1113.    (Scandinavians, for whom slashed-O is a letter, curse this
  1114.    arrangement).  If letter-O has a slash across it and the zero does
  1115.    not, your display is tuned for a very old convention used at IBM
  1116.    and a few other early mainframe makers (Scandinavians curse
  1117.    *this* arrangement even more, because it means two of their
  1118.    letters collide).  Some Burroughs/Unisys equipment displays a zero
  1119.    with a *reversed* slash.  And yet another convention common on
  1120.    early line printers left zero unornamented but added a tail or hook
  1121.    to the letter-O so that it resembled an inverted Q or cursive
  1122.    capital letter-O.  Are we sufficiently confused yet?
  1123.  
  1124. :1TBS: // n. The "One True Brace Style"; see {indent style}.
  1125.  
  1126. :AFJ: // n. Written-only abbreviation for "April Fool's Joke".
  1127.    Elaborate April Fool's hoaxes are a long-established tradition on
  1128.    USENET and Internet; see {kremvax} for an example.  In fact,
  1129.    April Fool's Day is the *only* seasonal holiday marked by
  1130.    customary observances on the hacker networks.
  1131.  
  1132. :altmode: n. Syn. {alt} sense 3.
  1133.  
  1134. :blue wire: [IBM] n. Patch wires added to circuit boards at the factory to
  1135.    correct design or fabrication problems.  These may be necessary if
  1136.    there hasn't been time to design and qualify another board version.
  1137.    Compare {purple wire}, {red wire}, {yellow wire}.
  1138.  
  1139. :bottom feeder: n. syn. for {slopsucker}, derived from the
  1140.    fishermen's and naturalists' term for finny creatures who subsist
  1141.    on the primordial ooze.
  1142.  
  1143. :boustrophedon: [from a Greek word for turning like an ox while
  1144.    plowing] n. An ancient method of writing using alternate
  1145.    left-to-right and right-to-left lines.  This term is actually
  1146.    philologists' techspeak and typesetters' jargon.  Erudite hackers
  1147.    use it for an optimization performed by some computer typesetting
  1148.    software and moving-head printers.  The adverbial form
  1149.    `boustrophedonically' is also found (hackers purely love
  1150.    constructions like this).
  1151.  
  1152. :bread crumbs: n. Debugging statements inserted into a program that
  1153.    emit output or log indicators of the program's {state} to a file
  1154.    so you can see where it dies or pin down the cause of surprising
  1155.    behavior. The term is probably a reference to the Hansel and Gretel
  1156.    story from the Brothers Grimm; in several variants, a character
  1157.    leaves a trail of bread crumbs so as not to get lost in the
  1158.    woods.
  1159.  
  1160. :BUAF: // [abbreviation, from alt.fan.warlord] n. Big
  1161.    Ugly ASCII Font --- a special form of {ASCII art}.  Various
  1162.    programs exist for rendering text strings into block, bloob, and
  1163.    pseudo-script fonts in cells between four and six character cells
  1164.    on a side; this is smaller than the letters generated by older
  1165.    {banner} (sense 2) programs.  These are sometimes used to render
  1166.    one's name in a {sig block}, and are critically referred to as
  1167.    `BUAF's.  See {warlording}.
  1168.  
  1169. :BUAG: // [abbreviation, from alt.fan.warlord] n. Big Ugly
  1170.    ASCII Graphic.  Pejorative term for ugly {ASCII ART}, especially
  1171.    as found in {sig block}s.  For some reason, mutations of the
  1172.    head of Bart Simpson are particularly common in the least
  1173.    imaginative {sig block}s. See {warlording}.
  1174.  
  1175. :can't happen: The traditional program comment for code executed
  1176.    under a condition that should never be true, for example a file
  1177.    size computed as negative.  Often, such a condition being true
  1178.    indicates data corruption or a faulty algorithm; it is almost
  1179.    always handled by emitting a fatal error message and terminating or
  1180.    crashing, since there is little else that can be done.  Some case
  1181.    variant of "can't happen" is also often the text emitted if the
  1182.    `impossible' error actually happens!  Although "can't happen"
  1183.    events are genuinely infrequent in production code, programmers
  1184.    wise enough to check for them habitually are often surprised at how
  1185.    frequently they are triggered during development and how many
  1186.    headaches checking for them turns out to head off. See also
  1187.    {firewall code} (sense 2).
  1188.  
  1189. :cascade: n. 1. A huge volume of spurious error-message output
  1190.    produced by a compiler with poor error recovery.  Too frequently,
  1191.    one trivial syntax error (such as a missing `)' or `}') throws the
  1192.    parser out of synch so that much of the remaining program text is
  1193.    interpreted as garbaged or ill-formed.  2. A chain of USENET
  1194.    followups, each adding some trivial variation or riposte to the text
  1195.    of the previous one, all of which is reproduced in the new message;
  1196.    an {include war} in which the object is to create a sort of
  1197.    communal graffito.
  1198.  
  1199. :check: n. A hardware-detected error condition, most commonly used
  1200.    to refer to actual hardware failures rather than software-induced
  1201.    traps.  E.g., a `parity check' is the result of a
  1202.    hardware-detected parity error.  Recorded here because the word
  1203.    often humorously extended to non-technical problems. For example,
  1204.    the term `child check' has been used to refer to the problems
  1205.    caused by a small child who is curious to know what happens when
  1206.    s/he presses all the cute buttons on a computer's console (of
  1207.    course, this particular problem could have been prevented with
  1208.    {molly-guard}s).
  1209.  
  1210. :core cancer: n. A process that exhibits a slow but inexorable
  1211.    resource {leak} --- like a cancer, it kills by crowding out
  1212.    productive `tissue'.
  1213.  
  1214. :crack root: v. To defeat the security system of a UNIX machine and
  1215.    gain {root} privileges thereby; see {cracking}.
  1216.  
  1217. :creep: v. To advance, grow, or multiply inexorably.  In hackish usage
  1218.    this verb has overtones of menace and silliness, evoking the
  1219.    creeping horrors of low-budget monster movies.
  1220.  
  1221. :disclaimer: n. [USENET] n. Statement ritually appended to many USENET
  1222.    postings (sometimes automatically, by the posting software) reiterating
  1223.    the fact (which should be obvious, but is easily forgotten) that the
  1224.    article reflects its author's opinions and not necessarily those of
  1225.    the organization running the machine through which the article
  1226.    entered the network.
  1227.  
  1228. :drum: adj, n.  Ancient techspeak term referring to slow,
  1229.    cylindrical magnetic media that were once state-of-the-art
  1230.    mass-storage devices.  Under BSD UNIX the disk partition used for
  1231.    swapping is still called `/dev/drum'; this has led to
  1232.    considerable humor and not a few straight-faced but utterly bogus
  1233.    `explanations' getting foisted on {newbie}s.  See also "{The
  1234.    Story of Mel, a Real Programmer}" in {Appendix A}.
  1235.  
  1236. :dumb terminal: n. A terminal that is one step above a {glass tty},
  1237.    having a minimally addressable cursor but no on-screen editing or
  1238.    other features normally supported by a {smart terminal}.  Once upon a
  1239.    time, when glass ttys were common and addressable cursors were
  1240.    something special, what is now called a dumb terminal could pass for
  1241.    a smart terminal.
  1242.  
  1243. :file signature: n. A {magic number} sense 3.
  1244.  
  1245. :FITNR: // [Thinking Machines, Inc.] Fixed In the Next Release.
  1246.    A written-only notation attached to bug reports.  Often wishful
  1247.    thinking.
  1248.  
  1249. :flypage: /fli:'payj/ n. (alt. `fly page') A {banner}, sense
  1250.    1.
  1251.  
  1252. :gilley: [USENET] n. The unit of analogical bogosity.  According to
  1253.    its originator, the standard for one gilley was "the act of
  1254.    bogotoficiously comparing the shutting down of 1000 machines for a
  1255.    day with the killing of one person".  The milligilley has been
  1256.    found to suffice for most normal conversational exchanges.
  1257.  
  1258. :gripenet: [IBM] n. A wry (and thoroughly unofficial) name for IBM's
  1259.    internal VNET system, deriving from its common use by IBMers to
  1260.    voice pointed criticism of IBM management that would be taboo in
  1261.    more formal channels.
  1262.  
  1263. :hand-roll: [from obs. mainstream slang `hand-rolled' in
  1264.    opposition to `ready-made', referring to cigarettes] v. To
  1265.    perform a normally automated software installation or configuration
  1266.    process {by hand}; implies that the normal process failed due to
  1267.    bugs in the configurator or was defeated by something exceptional
  1268.    in the local environment.  "The worst thing about being a gateway
  1269.    between four different nets is having to hand-roll a new sendmail
  1270.    configuration every time any of them upgrades."
  1271.  
  1272. :heatseeker: [IBM] n. A customer who can be relied upon to buy,
  1273.    without fail, the latest version of an existing product (not quite
  1274.    the same as a member the {lunatic fringe}).  A 1993 example of a
  1275.    heatseeker is someone who, owning a 286 PC and Windows 3.0, goes
  1276.    out and buys Windows 3.1 (which offers no worthwhile benefits
  1277.    unless you have a 386).  If all customers were heatseekers, vast
  1278.    amounts of money could be made by just fixing the bugs in each
  1279.    release (n) and selling it to them as release (n+1).
  1280.  
  1281. :idempotent: [from mathematical techspeak] adj. Acting as if used
  1282.    only once, even if used multiple times.  This term is often used
  1283.    with respect to {C} header files, which contain common
  1284.    definitions and declarations to be included by several source
  1285.    files.  If a header file is ever included twice during the same
  1286.    compilation (perhaps due to nested #include files), compilation
  1287.    errors can result unless the header file has protected itself
  1288.    against multiple inclusion; a header file so protected is said to
  1289.    be idempotent.  The term can also be used to describe an
  1290.    initialization subroutine that is arranged to perform some
  1291.    critical action exactly once, even if the routine is called several
  1292.    times.
  1293.  
  1294. :If you want X, you know where to find it.: There is a legend that
  1295.    Dennis Ritchie, inventor of {C}, once responded to demands for
  1296.    features resembling those of what at the time was a much more
  1297.    popular language by observing "If you want PL/I, you know where to
  1298.    find it."  Ever since, this has been hackish standard form for
  1299.    fending off requests to alter a new design to mimic some older
  1300.    (and, by implication, inferior and {baroque}) one.  The case X =
  1301.    {Pascal} manifests semi-regularly on USENET's comp.lang.c
  1302.    newsgroup.  Indeed, the case X = X has been reported in
  1303.    discussions of graphics software (see {X}).
  1304.  
  1305. :Imminent Death Of The Net Predicted!: [USENET] prov.  Since
  1306.    {USENET} first got off the ground in 1980--81, it has grown
  1307.    exponentially, approximately doubling in size every year.  On the
  1308.    other hand, most people feel the {signal-to-noise ratio} of
  1309.    USENET has dropped steadily.  These trends led, as far back as
  1310.    mid-1983, to predictions of the imminent collapse (or death) of the
  1311.    net.  Ten years and numerous doublings later, enough of these
  1312.    gloomy prognostications have been confounded that the phrase
  1313.    "Imminent Death Of The Net Predicted!" has become a running joke,
  1314.    hauled out any time someone grumbles about the {S/N ratio} or
  1315.    the huge and steadily increasing volume or the possible loss of a
  1316.    key node or link, or the potential for lawsuits when ignoramuses
  1317.    post copyrighted material, etc., etc., etc.
  1318.  
  1319. :jolix: n. /joh'liks/ n.,adj. 386BSD, the freeware port of the
  1320.    BSD Net/2 release to the Intel i386 architecture by Bill Jolitz and
  1321.    friends.  Used to differentiate from BSDI's port based on the same
  1322.    source tape, which is called BSD/386.  See {BSD}.
  1323.  
  1324. :KIBO: /ki:'boh/ 1. [acronym] Knowledge In, Bullshit Out.  A
  1325.    summary of what happens whenever valid data is passed through an
  1326.    organization (or person) that deliberately or accidentally
  1327.    disregards or ignores its significance.  Consider, for example,
  1328.    what an advertising campaign can do with a product's actual
  1329.    specifications.  Compare {GIGO}; see also {SNAFU principle}.
  1330.    2. James Parry <kibo@world.std.com>, a USENETter infamous for
  1331.    various surrealist net.pranks and an uncanny, machine-assisted
  1332.    knack for joining any thread in which his nom de guerre is
  1333.    mentioned.
  1334.  
  1335. :Lasherism: [Harvard] n. A program that solves a standard problem
  1336.    (such as the Eight Queens puzzle or implementing the {life}
  1337.    algorithm) in a deliberately nonstandard way.  Distinguished from a
  1338.    {crock} or {kluge} by the fact that the programmer did it on
  1339.    purpose as a mental exercise.  Such constructions are quite popular
  1340.    in exercises such as the {Obfuscated C contest}, and
  1341.    occasionally in {retrocomputing}.  Lew Lasher was a student at
  1342.    Harvard around 1980 who became notorious for such behavior.
  1343.  
  1344. :lightweight: adj. Opposite of {heavyweight}; usually found in
  1345.    combining forms such as `lightweight process'.
  1346.  
  1347. :manularity: /man`yoo-la'ri-tee/ [prob. fr. techspeak `manual'
  1348.    + `granularity'] n. A notional measure of the manual labor
  1349.    required for some task, particularly one of the sort that
  1350.    automation is supposed to eliminate.  "Composing English on paper
  1351.    has much higher manularity than using a text editor, especially in
  1352.    the revising stage."  Hackers tend to consider manularity a symptom
  1353.    of primitive methods; in fact, a true hacker confronted with an
  1354.    apparent requirement to do a computing task {by hand} will
  1355.    inevitably seize the opportunity to build another tool (see
  1356.    {toolsmith}).
  1357.  
  1358. :nasal demons: n. Recognized shorthand on the USENET group
  1359.    comp.std.c for any unexpected behavior of a C compiler on
  1360.    encountering an undefined construct.  During a discussion on that
  1361.    group in early 1992, a regular remarked "When the compiler
  1362.    encounters [a given undefined construct] it is legal for it to make
  1363.    demons fly out of your nose" (the implication is that it may
  1364.    choose any arbitrarily bizarre way to interpret the code without
  1365.    violating the ANSI C standard).  Someone else followed up with a
  1366.    reference to "nasal demons", which quickly became established.
  1367.  
  1368. :NetBOLLIX: [from bollix: to bungle] n. {IBM}'s NetBIOS, an
  1369.    extremely {brain-damaged} network protocol that, like {Blue
  1370.    Glue}, is used at commercial shops that don't know any better.
  1371.  
  1372. :nroff:: /en'rof/ [UNIX, from "new roff" (see {{troff}})] n. A
  1373.    companion program to the UNIX typesetter {{troff}}, accepting
  1374.    identical input but preparing output for terminals and line
  1375.    printers.
  1376.  
  1377. :Open DeathTrap: n. Abusive hackerism for the Santa Cruz
  1378.    Operation's `Open DeskTop' product, a Motif-based graphical
  1379.    interface over their UNIX.  The funniest part is that this was
  1380.    coined by SCO's own developers...compare {AIDX},
  1381.    {terminak}, {Macintrash} {Nominal Semidestructor},
  1382.    {ScumOS}, {sun-stools}, {HP-SUX}.
  1383.  
  1384. :optical grep: n. See {vgrep}.
  1385.  
  1386. :PARC: n. See {XEROX PARC}.
  1387.  
  1388. :pastie: /pay'stee/ n. An adhesive-backed label designed to be
  1389.    attached to a key on a keyboard to indicate some non-standard
  1390.    character which can be accessed through that key.  Pasties are
  1391.    likely to be used in APL environments, where almost every key is
  1392.    associated with a special character.  A pastie on the R key, for
  1393.    example, would remind the user that it is used to generate the rho
  1394.    character.  The term properly refers to nipple-concealing devices
  1395.    formerly worn by strippers in concession to indecent-exposure
  1396.    laws; compare {tits on a keyboard}.
  1397.  
  1398. :PostScript:: n. A Page Description Language ({PDL}), based on
  1399.    work originally done by John Gaffney at Evans and Sutherland in
  1400.    1976, evolving through `JaM' (`John and Martin', Martin Newell) at
  1401.    {XEROX PARC}, and finally implemented in its current form by
  1402.    John Warnock et al. after he and Chuck Geschke founded Adobe
  1403.    Systems Incorporated in 1982.  PostScript gets its leverage by
  1404.    using a full programming language, rather than a series of
  1405.    low-level escape sequences, to describe an image to be printed on a
  1406.    laser printer or other output device (in this it parallels
  1407.    {EMACS}, which exploited a similar insight about editing
  1408.    tasks).  It is also noteworthy for implementing on-the fly
  1409.    rasterization, from Bezier curve descriptions, of high-quality
  1410.    fonts at low (e.g.  300 dpi) resolution (it was formerly believed
  1411.    that hand-tuned bitmap fonts were required for this task).  Hackers
  1412.    consider PostScript to be among the most elegant hacks of all time,
  1413.    and the combination of technical merits and widespread availability
  1414.    has made PostScript the language of choice for graphical
  1415.    output.
  1416.  
  1417. :postcardware: n. {Shareware} that borders on {freeware}, in
  1418.    that the author requests only that satisfied users send a postcard
  1419.    of their home town or something.  (This practice, silly as it might
  1420.    seem, serves to remind users that they are otherwise getting
  1421.    something for nothing, and may also be psychologically related to
  1422.    real estate `sales' in which $1 changes hands just to keep the
  1423.    transaction from being a gift.)
  1424.  
  1425. :purple wire: [IBM] n. Wire installed by Field Engineers to work
  1426.    around problems discovered during testing or debugging.  These are
  1427.    called `purple wires' even when (as is frequently the case) their
  1428.    actual physical color is yellow....  Compare {blue wire},
  1429.    {yellow wire}, and {red wire}.
  1430.  
  1431. :quine: [from the name of the logician Willard V. Quine, via
  1432.    Douglas Hofstadter] n. A program that generates a copy of its own
  1433.    source text as its complete output.  Devising the shortest possible
  1434.    quine in some given programming language is a common hackish
  1435.    amusement.  Here is one classic quine:
  1436.  
  1437.      ((lambda (x)
  1438.        (list x (list (quote quote) x)))
  1439.       (quote
  1440.          (lambda (x)
  1441.            (list x (list (quote quote) x)))))
  1442.  
  1443.    This one works in LISP or Scheme.  It's relatively easy to write
  1444.    quines in other languages such as Postscript which readily handle
  1445.    programs as data; much harder (and thus more challenging!) in
  1446.    languages like C which do not.  Here is a classic C quine for ASCII
  1447.    machines:
  1448.  
  1449.      char*f="char*f=%c%s%c;main()
  1450.      {printf(f,34,f,34,10);}%c";
  1451.      main(){printf(f,34,f,34,10);}
  1452.  
  1453.    For excruciatingly exact quinishness, remove the interior line
  1454.    breaks.  Some infamous {Obfuscated C Contest} entries have been
  1455.    quines that reproduced in exotic ways.
  1456.  
  1457. :rainbow series: n. Any of several series of technical manuals
  1458.    distinguished by cover color.  The original rainbow series was the
  1459.    NCSC security manuals (see {Orange Book}, {crayola books});
  1460.    the term has also been commonly applied to the PostScript reference
  1461.    set (see {Red Book}, {Green Book}, {Blue Book}, {White
  1462.    Book}).  Which books are meant by "`the' rainbow series"
  1463.    unqualified is thus dependent on one's local technical culture.
  1464.  
  1465. :real: adj. Not simulated.  Often used as a specific antonym to
  1466.    {virtual} in any of its jargon senses.
  1467.  
  1468. :red wire: [IBM] n. Patch wires installed by programmers who have
  1469.    no business mucking with the hardware.  It is said that the only
  1470.    thing more dangerous than a hardware guy with a code patch is a
  1471.    {softy} with a soldering iron.... Compare {blue wire},
  1472.    {yellow wire}, {purple wire}.
  1473.  
  1474. :round tape: n. Industry-standard 1/2-imch magnetic tape (7- or
  1475.    9-track) on traditional circular reels; oppose {square tape}.
  1476.  
  1477. :scanno: /skan'oh/ n. An error in a document caused by a scanner
  1478.    glitch, analogous to a typo or {thinko}.
  1479.  
  1480. :schroedinbug: /shroh'din-buhg/ [MIT: from the Schroedinger's Cat
  1481.    thought-experiment in quantum physics] n. A design or
  1482.    implementation bug in a program that doesn't manifest until someone
  1483.    reading source or using the program in an unusual way notices that
  1484.    it never should have worked, at which point the program promptly
  1485.    stops working for everybody until fixed.  Though (like {bit
  1486.    rot}) this sounds impossible, it happens; some programs have
  1487.    harbored latent schroedinbugs for years.  Compare {heisenbug},
  1488.    {Bohr bug}, {mandelbug}.
  1489.  
  1490. :scruffies: n. See {neats vs. scruffies}.
  1491.  
  1492. :ScumOS: /skuhm'os/ or /skuhm'O-S/ n. Unflattering hackerism
  1493.    for SunOS, the UNIX variant supported on Sun Microsystems's UNIX
  1494.    workstations (see also {sun-stools}), and compare {AIDX},
  1495.    {terminak}, {Macintrash}, {Nominal Semidestructor},
  1496.    {Open DeathTrap}, {HP-SUX}.  Despite what this term might
  1497.    suggest, Sun was founded by hackers and still enjoys excellent
  1498.    relations with hackerdom; usage is more often in exasperation than
  1499.    outright loathing.
  1500.  
  1501. :shambolic link: /sham-bol'ik link/ n. A UNIX symbolic link,
  1502.    particularly when it confuses you, points to nothing at all, or
  1503.    results in you ending up in some completely unexpected part of the
  1504.    filesystem....
  1505.  
  1506. :shim: n. A small piece of data inserted in order to achieve a
  1507.    desired memory alignment or other addressing property.  For
  1508.    example, the PDP-11 UNIX linker, in split I&D (instructions and
  1509.    data) mode, inserts a two-byte shim at location 0 in data space so
  1510.    that no data object will have an address of 0 (and be confused with
  1511.    the C null pointer). See also {loose bytes}.
  1512.  
  1513. :SIG: /sig/ n. (also common as a prefix in combining forms) The
  1514.    Association for Computing Machinery traditionally sponsors Special
  1515.    Interest Groups in various technical areas; well-known ones include
  1516.    SIGPLAN (the Special Interest Group on Programming Languages),
  1517.    SIGARCH (the Special Interest Group for Computer Architecture) and
  1518.    SIGGRAPH (the Special Interest Group for Computer Graphics).
  1519.    Hackers, not surprisingly, like to overextend this naming
  1520.    convention to less formal associations like SIGBEER (at ACM
  1521.    conferences) and SIGFOOD (at University of Illinois).
  1522.  
  1523. :smoke and mirrors: n. Marketing deceptions.  The term is
  1524.    mainstream in this general sense.  Among hackers it's strongly
  1525.    associated with bogus demos and crocked {benchmark}s (see also
  1526.    {MIPS}, {machoflops}).  "They claim their new box cranks 50
  1527.    MIPS for under $5000, but didn't specify the instruction mix ---
  1528.    sounds like smoke and mirrors to me."  The phrase has been said to
  1529.    derive from carnie slang for magic acts and `freak show' displays
  1530.    that depend on `trompe l'oeil' effects, but also calls to mind
  1531.    the fierce Aztec god Tezcatlipoca (lit. "Smoking Mirror") for
  1532.    whom the hearts of huge numbers of human sacrificial victims were
  1533.    regularly cut out.  Upon hearing about a rigged demo or yet another
  1534.    round of fantasy-based marketing promises, hackers often feel
  1535.    analogously disheartened.
  1536.  
  1537. :spike: v. To defeat a selection mechanism by introducing a
  1538.    (sometimes temporary) device that forces a specific result.  The
  1539.    word is used in several industries; telephone engineers refer to
  1540.    spiking a relay by inserting a pin to hold the relay in either the
  1541.    closed or open state, and railroaders refer to spiking a
  1542.    track switch so that it cannot be moved.  In programming
  1543.    environments it normally refers to a temporary change, usually for
  1544.    testing purposes (as opposed to a permanent change, which would be
  1545.    called {hardwired}).
  1546.  
  1547. :spool file: n. Any file to which data is {spool}ed to await the
  1548.    next stage of processing.  Especially used in circumstances where
  1549.    spooling the data copes with a mismatch between speeds in two
  1550.    devices or pieces of software.  For example, when you send mail
  1551.    under UNIX, it's typically copied to a spool file to await a
  1552.    transport {demon}'s attentions.  This is borderline techspeak.
  1553.  
  1554. :square tape: n. Mainframe magnetic tape cartridges for use with
  1555.    IBM 3480 or compatible tape drives; or QIC tapes used on
  1556.    workstations and micros.  The term comes from the square (actually
  1557.    rectangular) shape of the cartridges; contrast {round tape}.
  1558.  
  1559. :That's not a bug, that's a feature!: The {canonical} first
  1560.    parry in a debate about a purported bug.  The complainant, if
  1561.    unconvinced, is likely to retort that the bug is then at best a
  1562.    {misfeature}.  See also {feature}.
  1563.  
  1564. :TMRCie: /tmerk'ee/, [MIT] n. A denizen of {TMRC}.
  1565.  
  1566. :trawl: v. To sift through large volumes of data (e.g., USENET
  1567.    postings, FTP archives, or the Jargon File) looking for something
  1568.    of interest.
  1569.  
  1570. :troff:: /tee'rof/ or /trof/ [UNIX] n. The gray eminence of UNIX
  1571.    text processing; a formatting and phototypesetting program, written
  1572.    originally in PDP-11 assembler and then in barely-structured early
  1573.    C by the late Joseph Ossanna, modeled after the earlier ROFF which
  1574.    was in turn modeled after Multics' RUNOFF by Jerome Saltzer
  1575.    (*that* name came from the expression "to run off a copy").  A
  1576.    companion program, `nroff', formats output for terminals and
  1577.    line printers.
  1578.  
  1579.    In 1979, Brian Kernighan modified `troff' so that it could
  1580.    drive phototypesetters other than the Graphic Systems CAT.  His
  1581.    paper describing that work ("A Typesetter-independent troff,"
  1582.    AT&T CSTR #97) explains troff's durability.  After discussing the
  1583.    program's "obvious deficiencies --- a rebarbative input syntax,
  1584.    mysterious and undocumented properties in some areas, and a
  1585.    voracious appetite for computer resources" and noting the ugliness
  1586.    and extreme hairiness of the code and internals, Kernighan
  1587.    concludes:
  1588.  
  1589.      None of these remarks should be taken as denigrating
  1590.      Ossanna's accomplishment with TROFF.  It has proven a
  1591.      remarkably robust tool, taking unbelievable abuse from a
  1592.      variety of preprocessors and being forced into uses that
  1593.      were never conceived of in the original design, all with
  1594.      considerable grace under fire.
  1595.  
  1596.    The success of {{TeX}} and desktop publishing systems have
  1597.    reduced `troff''s relative importance, but this tribute
  1598.    perfectly captures the strengths that secured `troff' a place
  1599.    in hacker folklore; indeed, it could be taken more generally as an
  1600.    indication of those qualities of good programs that, in the long
  1601.    run, hackers most admire.
  1602.  
  1603. :tron: [NRL, CMU; prob. fr. the movie `Tron'] v. To become
  1604.    inaccessible except via email or `talk(1)', especially when
  1605.    one is normally available via telephone or in person.  Frequently
  1606.    used in the past tense, as in: "Ran seems to have tronned on us
  1607.    this week" or "Gee, Ran, glad you were able to un-tron
  1608.    yourself".  One may also speak of `tron mode'; compare
  1609.    {spod}.
  1610.  
  1611. :unleaded: adj. Said of decaffeinated coffee, Diet Coke, and other
  1612.    imitation {programming fluid}s.  "Do you want regular or
  1613.    unleaded?"  Appears to be widespread among programmers associated
  1614.    with the oil industry in Texas (and probably elsewhere).  Usage:
  1615.    silly, and probably unintelligible to the next generation of
  1616.    hackers.
  1617.  
  1618. :warlording: [from the USENET group alt.fan.warlord] v. The act
  1619.    of excoriating a bloated, ugly, or derivative {sig block}.
  1620.    Common grounds for warlording include the presence of a signature
  1621.    rendered in a {BUAF}, over-used or cliched {sig quote}s, ugly
  1622.    {ASCII art}, or simply excessive size.  The original `Warlord'
  1623.    was a {BIFF}-like {newbie} c.1991 who featured in his sig a
  1624.    particularly large and obnoxious ASCII graphic resembling the sword
  1625.    of Conan the Barbarian in the 1981 John Milius movie; the group
  1626.    name alt.fan.warlord was sarcasm, and the characteristic mode
  1627.    of warlording is devastatingly sarcastic praise.
  1628.  
  1629. :wirewater: n. Syn. {programming fluid}.  This melds the
  1630.    mainstream slang adjective `wired' (stimulated, up, hyperactive)
  1631.    with `firewater'.
  1632.  
  1633. :XON: /X'on/ n. Syn. {control-Q}.
  1634.  
  1635. :yellow wire: [IBM] n. Repair wires used when connectors
  1636.    (especially ribbon connectors) got broken due to some schlemiel
  1637.    pinching them, or to reconnect cut traces after the FE mistakenly
  1638.    cut one.  Compare {blue wire}, {purple wire}, {red wire}.
  1639.  
  1640.  
  1641. **************** New entries in 2.9.11 *****************
  1642.  
  1643. :AI: /A-I/ n. Abbreviation for `Artificial Intelligence', so
  1644.    common that the full form is almost never written or spoken among
  1645.    hackers.
  1646.  
  1647. :brochureware: n. Planned but non-existent product like
  1648.    {vaporware}, but with the added implication that marketing is
  1649.    actively selling and promoting it (they've printed brochures).
  1650.    Brochureware is often deployed as a strategic weapon; the idea is
  1651.    to con customers into not committing to an existing product of the
  1652.    competition's.  It is a safe bet that when a brochureware product
  1653.    finally becomes real, it will be more expensive than and inferior
  1654.    to the alternatives that had been available for years.
  1655.  
  1656. :con: [from SF fandom] n. A science-fiction convention.  Not used
  1657.    of other sorts of conventions, such as professional meetings.  This
  1658.    term, unlike many others of SF-fan slang, is widely recognized even
  1659.    by hackers who aren't {fan}s. "We'd been corresponding on the
  1660.    net for months, then we met face-to-face at a con." .
  1661.  
  1662. :CrApTeX: /krap'tekh/ [University of York, England] n. Term of
  1663.    abuse used to describe TeX and LaTeX when they don't work (when
  1664.    used by TeXhackers), or all the time (by everyone else).  The
  1665.    non-TeX enthusiasts generally dislike it because it is more verbose
  1666.    than other formatters (e.g. troff) and because (particularly if the
  1667.    standard Computer Modern fonts are used) it generates vast output
  1668.    files.  See {religious issues}, {{TeX}}.
  1669.  
  1670. :crayola books: n. The {rainbow series} of NCSC computer
  1671.    security standards (see {Orange Book}).  Usage: humorous and/or
  1672.    disparaging.
  1673.  
  1674. :DAU: /dow/ [German Fidonet] n. German acronym for D"ummster
  1675.    Anzunehmender User (stupidest imaginable user).  From the
  1676.    engin-eering-slang GAU for Gr"osster Anzunehmender Unfall (worst
  1677.    foreseeable accident, esp. of a LNG tank farm plant or something
  1678.    with similarly disastrous consequences).See {cretin}, {fool},
  1679.    {loser} and {weasel}.
  1680.  
  1681. :decay: [from nuclear physics] n.,vi. An automatic conversion which
  1682.    is applied to most array-valued expressions in {C}; they `decay
  1683.    into' pointer-valued expressions pointing to the array's first
  1684.    element.  This term is borderline techspeak, but is not used in the
  1685.    official standard for the language.
  1686.  
  1687. :DED: /D-E-D/ n.  Dark-Emitting Diode (that is, a burned-out
  1688.    LED).  Compare {SED}, {LER}, {write-only memory}.  In the
  1689.    early 1970s both Signetics and Texas instruments released DED spec
  1690.    sheets as {AFJ}s (suggested uses included "as a power-off
  1691.    indicator").
  1692.  
  1693. :fan: n.  Without qualification, indicates a fan of science
  1694.    fiction, especially one who goes to {con}s and tends to hang out
  1695.    with other fans.  Many hackers are fans, so this term has been
  1696.    imported from fannish slang; however, unlike much fannish slang it
  1697.    is recognized by most non-fannish hackers.  Among SF fans the
  1698.    plural is correctly `fen', but this usage is not automatic to
  1699.    hackers.  "Laura reads the stuff occasionally but isn't really a
  1700.    fan."
  1701.  
  1702. :faradize: /far'*-di:z/ [US Geological Survey] v. To start any
  1703.    hyper-addictive process or trend, or to continue adding current to
  1704.    such a trend.  Telling one user about a new octo-tetris game you
  1705.    compiled would be a faradizing act --- in two weeks you might find
  1706.    your entire department playing the faradic game.
  1707.  
  1708. :farkled: /far'kld/ [DeVry Institute of Technology, Atlanta] adj.
  1709.    Syn. {hosed}.  Poss. owes something to Yiddish `farblondjet'.
  1710.  
  1711. :Infinite-Monkey Theorem: n. "If you put an {infinite} number
  1712.    of monkeys at typewriters, eventually one will bash out the script
  1713.    for Hamlet."  (One may also hypothesize a small number of monkeys
  1714.    and a very long period of time.)  This theorem asserts nothing about
  1715.    the intelligence of the one {random} monkey that eventually
  1716.    comes up with the script (and note that the mob will also type out
  1717.    all the possible *incorrect* versions of Hamlet).  It may be
  1718.    referred to semi-seriously when justifying a {brute force}
  1719.    method; the implication is that, with enough resources thrown at
  1720.    it, any technical challenge becomes a {one-banana problem}.
  1721.  
  1722.    This theorem was first popularized by the classic SF short story
  1723.    "Inflexible Logic" by Russell Maloney, many younger hackers
  1724.    know it through a reference in Douglas Adams's `Hitchhiker's
  1725.    Guide to the Galaxy'.
  1726.  
  1727. :leapfrog attack: n. Use of userid and password information
  1728.    obtained illicitly from one host (e.g., downloading a file of
  1729.    account IDs and passwords, tapping TELNET, etc.) to compromise
  1730.    another host.  Also, to TELNET through one or more hosts in order
  1731.    to confuse a trace (a standard cracker procedure).
  1732.  
  1733. :lithium lick: n. [NeXT] n. Steve Jobs.  Employees who have gotten
  1734.    too much attention from their esteemed founder are said to have
  1735.    `lithium lick' when they begin to show signs of Jobsian fervor and
  1736.    repeat the most recent catch phrases in normal conversation --- for
  1737.    example, "It just works, right out of the box!"
  1738.  
  1739. :locals, the: pl.n. The users on one's local network (as opposed, say,
  1740.    to people one reaches via public Internet or UUCP connects).  The
  1741.    marked thing about this usage is how little it has to do with
  1742.    real-space distance. "I have to do some tweaking on this mail
  1743.    utility before releasing it to the locals."
  1744.  
  1745. :memory farts: n. The flatulent sounds that some DOS box BIOSes
  1746.    (most notably AMI's) make when checking memory on bootup.
  1747.  
  1748. :mockingbird: n. Software that intercepts communications
  1749.    (especially login transactions) between users and hosts and
  1750.    provides system-like responses to the users while saving their
  1751.    responses (especially account IDs and passwords).  A special case
  1752.    of {Trojan Horse}.
  1753.  
  1754. :monty: /mon'tee/ [US Geological Survey] n.  A program with a
  1755.    ludicrously complex user interface written to perform extremely
  1756.    trivial tasks.  An example would be a menu-driven, button clicking,
  1757.    pulldown, pop-up windows program for listing directories.  The
  1758.    original monty was an infamous weather-reporting program, Monty the
  1759.    Amazing Weather Man, written at the USGS.  Monty had a
  1760.    widget-packed X-window interface with over 200 buttons; and all
  1761.    monty actually *did* was {FTP} files off the network.
  1762.  
  1763. :munge: /muhnj/ vt. 1. [derogatory] To imperfectly transform
  1764.    information.  2. A comprehensive rewrite of a routine, data
  1765.    structure or the whole program.
  1766.  
  1767.    This term is often confused with {mung} and may derive from it,
  1768.    or possibly vice-versa.
  1769.  
  1770. :nude: adj. Said of machines delivered without an operating system
  1771.    (compare {bare metal}).  "We ordered 50 systems, but they all
  1772.    arrived nude, so we had to spend a an extra weekend with the
  1773.    install-tapes."  This usage is a recent innovation reflecting the
  1774.    fact that most PC clones are now delivered with DOS or Microsoft
  1775.    Windows pre-installed at the factory.  Other kinds of hardware are
  1776.    still normally delivered without OS, so this term is particular to
  1777.    PC support groups.
  1778.  
  1779. :person of no account: [University of California at Santa Cruz] n.
  1780.    Used when referring to a person with no {network address}, frequently
  1781.    to forestall confusion.  Most often as part of an introduction:
  1782.    "This is Bill, a person of no account, but he used to be
  1783.    bill@random.com".  Compare {return from the dead}.
  1784.  
  1785. :phage: n. A program that modifies other programs or databases in
  1786.    unauthorized ways; esp. one that propagates a {virus} or
  1787.    {Trojan horse}.  See also {worm}, {mockingbird}.  The
  1788.    analogy, of course, is with phage viruses in biology.
  1789.  
  1790. :rabbit job: [Cambridge] n. A batch job that does little, if any,
  1791.    real work, but creates one or more copies of itself, breeding like
  1792.    rabbits.  Compare {wabbit}, {fork bomb}.
  1793.  
  1794. :Real Programmer: [indirectly, from the book `Real Men Don't
  1795.    Eat Quiche'] n. A particular sub-variety of hacker: one possessed
  1796.    of a flippant attitude toward complexity that is arrogant even when
  1797.    justified by experience.  The archetypal `Real Programmer' likes
  1798.    to program on the {bare metal} and is very good at same,
  1799.    remembers the binary opcodes for every machine he has ever
  1800.    programmed, thinks that HLLs are sissy, and uses a debugger to edit
  1801.    his code because full-screen editors are for wimps.  Real
  1802.    Programmers aren't satisfied with code that hasn't been {bum}med
  1803.    into a state of {tense}ness just short of rupture.  Real
  1804.    Programmers never use comments or write documentation: "If it was
  1805.    hard to write", says the Real Programmer, "it should be hard to
  1806.    understand."  Real Programmers can make machines do things that
  1807.    were never in their spec sheets; in fact, they are seldom really
  1808.    happy unless doing so.  A Real Programmer's code can awe with its
  1809.    fiendish brilliance, even as its crockishness appalls.  Real
  1810.    Programmers live on junk food and coffee, hang line-printer art on
  1811.    their walls, and terrify the crap out of other programmers ---
  1812.    because someday, somebody else might have to try to understand
  1813.    their code in order to change it.  Their successors generally
  1814.    consider it a {Good Thing} that there aren't many Real
  1815.    Programmers around any more.  For a famous (and somewhat more
  1816.    positive) portrait of a Real Programmer, see "{The Story
  1817.    of Mel, a Real Programmer}" in {Appendix A}.  The term itself
  1818.    was popularized by a 1983 Datamation article "Real
  1819.    Programmers Don't Use Pascal" by Ed Post, still circulating on
  1820.    USENET and Internet in on-line form.
  1821.  
  1822. :return from the dead: v. To regain access to the net after a long
  1823.    absence.  Compare {person of no account}.
  1824.  
  1825. :scream and die: v. Syn. {cough and die}, but connotes that an
  1826.    error message was printed or displayed before the program crashed.
  1827.  
  1828. :slack: n. 1. Space allocated to a disk file but not actually used
  1829.    to store useful information.  The techspeak equivalent is `internal
  1830.    fragmentation'.  2. In the theology of the {Church of the
  1831.    SubGenius}, a mystical substance or quality that is the
  1832.    prerequisite of all human happiness.
  1833.  
  1834.    Since UNIX files are stored compactly, except for the unavoidable
  1835.    wastage in the last block or fragment, it might be said that "Unix
  1836.    has no slack".  See {ha ha only serious}.
  1837.  
  1838. :teledildonics: /tel`*-dil-do'-niks/ n. Sex in a computer
  1839.    simulated virtual reality, esp. computer-mediated sexual
  1840.    interaction between the {VR} presences of two humans.  This
  1841.    practice is not yet possible except in the rather limited form of
  1842.    erotic conversation on {MUD}s and the like.  The term, however,
  1843.    is widely recognized in the VR community as a {ha ha only
  1844.    serious} projection of things to come.  "When we can sustain a
  1845.    multi-sensory surround good enough for teledildonics, *then*
  1846.    we'll know we're getting somewhere."
  1847.  
  1848. :time bomb: n. A subspecies of {logic bomb} that is triggered by
  1849.    reaching some preset time, either once or periodically.  There are
  1850.    numerous legends about time bombs set up by programmers in their
  1851.    employers' machines, to go off if the programmer is fired or laid
  1852.    off and is not present to perform the appropriate suppressing
  1853.    action periodically.
  1854.  
  1855.    Interestingly, the only such incident for which we have been
  1856.    pointed to documentary evidence took place in the Soviet Union in
  1857.    1986!  A disgruntled programmer at the Volga Automobile Plant
  1858.    (where the Fiat clones called Ladas were manufactured) planted a
  1859.    time bomb which, a week after he'd left on vacation, stopped the
  1860.    entire main assembly line for a day.  The case attracted lots of
  1861.    attention in the Soviet Union because it was the first cracking
  1862.    case to make it to court there.  The perpetrator got 3 years in
  1863.    jail.
  1864.  
  1865. :window shopping: [US Geological Survey] n. Among users of {WIMP
  1866.    environment}s like {X} or the Macintosh, extended
  1867.    experimentation with new window colors, fonts, and icon shapes.
  1868.    This activity can take up hours of what might otherwise have been
  1869.    productive working time.  "I spent the afternoon window shopping
  1870.    until I found the coolest shade of green for my active window
  1871.    borders --- now they perfectly match my medium slate blue
  1872.    background."  Serious window shoppers will spend their days
  1873.    with bitmap editors, creating new and different icons and
  1874.    background patterns for all to see.  Also: `window dressing', the
  1875.    act of applying new fonts, colors, etc.  See {fritterware},
  1876.    compare {macdink}.
  1877.  
  1878. :wumpus: /wuhm'p*s/ n. The central monster (and, in many
  1879.    versions, the name) of a famous family of very early computer games
  1880.    called "Hunt The Wumpus", dating back at least to 1972 (several
  1881.    years before {ADVENT}) on the Dartmouth Time-Sharing System.
  1882.    The wumpus lived somewhere in a cave with the topology of an
  1883.    dodecahedron's edge/vertex graph (later versions supported other
  1884.    topologies, including an icosahedron and M"obius strip). The player
  1885.    started somewhere at random in the cave with five `crooked
  1886.    arrows'; these could be shot through up to three connected rooms,
  1887.    and would kill the wumpus on a hit (later versions introduced
  1888.    the wounded wumpus, which got very angry).  Unfortunately for
  1889.    players, the movement necessary to map the maze was made hazardous
  1890.    not merely by the wumpus (which would eat you if you stepped on
  1891.    him) but also by bottomless pits and colonies of super bats that would
  1892.    pick you up and drop you at a random location (later versions added
  1893.    `anaerobic termites' that ate arrows, bat migrations, and
  1894.    earthquakes that randomly changed pit locations).
  1895.  
  1896.    This game appears to have been the first to use a non-random
  1897.    graph-structured map (as opposed to a rectangular grid like the
  1898.    even older Star Trek games).  In this respect, as in the
  1899.    dungeon-like setting and its terse, amusing messages, it prefigured
  1900.    {ADVENT} and {Zork} and was directly ancestral to both (Zork
  1901.    acknowledged this heritage by including a super-bat colony).
  1902.    Today, a port is distributed with SunOS and as freeware for the
  1903.    Mac.  A C emulation of the original Basic game is in circulation
  1904.    as freeware on the net.
  1905.  
  1906.  
  1907. **************** New entries in 2.9.12 *****************
  1908.  
  1909. :ARMM: [acronym, `Automated Retroactive Minimal Moderation'] n. A
  1910.    USENET robot created by Dick Depew of Munroe Falls, Ohio.  It was
  1911.    intended to automatically cancel posts from anonymous-posting
  1912.    sites.  Unfortunately, the robot's recognizer for anonymous
  1913.    postings triggered on its own automatically-generated control
  1914.    messages!  Transformed by this stroke of programming ineptitude
  1915.    into a monster of Frankensteinian proportions, it broke loose on
  1916.    the night of March 31, 1993 and proceeded to spam
  1917.    news.admin.policy with a recursive explosion of over 200
  1918.    messages.
  1919.  
  1920.    ARMM's bug produced a recursive {cascade} of messages each of which
  1921.    mechanically added text to the ID and Subject and some other
  1922.    headers of its parent.  This produced a flood of messages in which
  1923.    each header took up several screens and each message ID and subject
  1924.    line got longer and longer and longer.
  1925.  
  1926.    Reactions varied from amusememt to outrage.  The pathological
  1927.    messages crashed at least one mail system, and upset people paying
  1928.    line charges for their USENET feeds.  One poster described the ARMM
  1929.    debacle as "instant USENET history" (instantly establishing the
  1930.    term {despew}), and it has since been widely cited as a
  1931.    cautionary example of the havoc the combination of good intentions
  1932.    and incompetence can wreak on a network.  Compare {Great Worm,
  1933.    The}; {sorcerer's apprentice mode}.  See also {software
  1934.    laser}, {network meltdown}.
  1935.  
  1936. :ASCIIbetical order: /as'kee-be'-t*-kl or'dr/ adj.,n. Used to
  1937.    indicate that data is sorted in ASCII collated order rather than
  1938.    alphabetical order.  This lexicon is sorted in something close to
  1939.    ASCIIbetical order, but with case ignored and entries beginning
  1940.    with non-alphabetic characters moved to the end.
  1941.  
  1942. :atomic: [from Gk. `atomos', indivisible] adj. Indivisible;
  1943.    cannot be split up.  For example, an instruction may be said to do
  1944.    several things `atomically', i.e., all the things are done
  1945.    immediately, and there is no chance of the instruction being
  1946.    half-completed.  Esp. used to convey that an operation cannot be
  1947.    screwed up by interrupts.  "This routine locks the file and
  1948.    increments the file's semaphore atomically."  This usage has none
  1949.    of the connotations that `atomic' has in mainstream English (i.e.
  1950.    of particles of matter, nuclear explosions etc.).
  1951.  
  1952. :Bloggs Family, the: n.  An imaginary family consisting of Fred and
  1953.    Mary Bloggs and their children.  Used as a standard example in
  1954.    knowledge representation to show the difference between extensional
  1955.    and intensional objects.  For example, every occurrence of "Fred
  1956.    Bloggs" is the same unique person, whereas occurrences of
  1957.    "person" may refer to different people.  Members of the Bloggs
  1958.    family have been known to pop up in bizarre places such as the DEC
  1959.    Telephone Directory.  Compare {Mbogo, Dr. Fred}.
  1960.  
  1961. :cookie jar: n. An area of memory set aside for storing {cookie}s.
  1962.    Most commonly heard in the Atari ST community; many useful ST
  1963.    programs record their presence by storing a distinctive {magic
  1964.    number} in the jar.  Programs can inquire after the presence or
  1965.    otherwise of other programs by searching the contents of the jar.
  1966.  
  1967. :dec: /dek/ v. Common verbal shorthand for decrement, i.e.
  1968.    `decrease by one' (one doesn't tend to see the sbbreviation in
  1969.    writing or email).  Especially used by assembly programmers, as many
  1970.    assembly languages (including those for Intel chips) have a
  1971.    `dec' mnemonic.  Antonym: {inc}.
  1972.  
  1973. :evil and rude: adj. Both {evil} and {rude}, but this phrase
  1974.    has the additional connotation that the rudeness was due to malice
  1975.    rather than incompetence.  Thus, for example: Microsoft's Windows
  1976.    NT is evil because it's a competent implementation of a bad
  1977.    design; it's rude because it's gratuitously incompatible with
  1978.    UNIX in places where compatibility would have been as easy and
  1979.    effective to do; but it's evil and rude because the
  1980.    incompatiblities are apparently there not to fix design bugs in
  1981.    UNIX but rather to lock hapless customers and developers into the
  1982.    Microsoft way. Hackish evil and rude is close to the mainstream
  1983.    sense of `evil'.
  1984.  
  1985. :external memory: n. A memo pad or written notes.  "Hold on while
  1986.    I write that to external memory".  The analogy is with store or
  1987.    DRAM versus nonvolatile disk storage on computers.
  1988.  
  1989. :FAQ: /F-A-Q/ or /fak/ [USENET] n. 1. A Frequently Asked Question.
  1990.    2. A compendium of accumulated lore, posted periodically to
  1991.    high-volume newsgroups in an attempt to forestall such questions.
  1992.    Some people prefer the term `FAQ list' or `FAQL' /fa'kl/,
  1993.    reserving `FAQ' for sense 1.
  1994.  
  1995.    This lexicon itself serves as a good example of a collection of one
  1996.    kind of lore, although it is far too big for a regular FAQ
  1997.    posting.  Examples: "What is the proper type of NULL?"  and
  1998.    "What's that funny name for the `#' character?" are both
  1999.    Frequently Asked Questions.  Several FAQ lists refer readers to
  2000.    this file.
  2001.  
  2002. :FIXME: imp. A standard tag often put in C comments near a piece of
  2003.    code that needs work.  The point of doing this is so that a
  2004.    `grep' or similar pattern-matching tool can find all such
  2005.    places quickly.
  2006.  
  2007.      FIXME: note this is common in {GNU} code.
  2008.  
  2009.    Compare {XXX}.
  2010.  
  2011. :fnord: [from the `Illuminatus Trilogy'] n. 1. A word used in
  2012.    email and news postings to tag utterances as surrealist mind-play
  2013.    or humor, esp. in connection with {Discordianism} and elaborate
  2014.    conspiracy theories.  "I heard that David Koresh is sharing an
  2015.    apartment in Argentina with Hitler. (Fnord.)", "Where can I fnord
  2016.    get the Principia Discordia from?"  2. A metasyntactic variable,
  2017.    commonly used by hackers with ties to {Discordianism} or the
  2018.    {Church of the SubGenius}.
  2019.  
  2020. :frink: /frink/ v. The unknown ur-verb, fill in your own meaning.
  2021.    Found esp. on the USENET newsgroup alt.fan.lemur, where it is
  2022.    said that the lemurs know what `frink' means, but they aren't
  2023.    telling.  Compare {gorets}.
  2024.  
  2025. :gorets: /goh'rets/ n. The unknown ur-noun, fill in your own
  2026.    meaning.  Found esp. on the USENET newsgroup alt.gorets, which
  2027.    seems to be a running contest to redefine the word by implication
  2028.    in the funniest and most peculiar way, with the understanding that
  2029.    no definition is ever final.  [A correspondent from the Former
  2030.    Soviet Union informs me that `gorets' is Russian for `mountain
  2031.    dweller' --- ESR] Compare {frink}.
  2032.  
  2033. :grilf: // n.  Girl-friend.  Like {newsfroup} and {filk}, a
  2034.    typo incarnated as a new word.  Seems to have originated sometime
  2035.    in 1992.
  2036.  
  2037. :hand cruft: [pun on `hand craft'] vt. See {cruft}, sense 3.
  2038.  
  2039. :hysterical reasons: (also `hysterical raisins') n.  A variant on
  2040.    the stock phrase "for historical reasons", it specifically
  2041.    indicates that something must be done in some stupid way for
  2042.    backwards compatibility, and moreover that the feature it must be
  2043.    compatible with was the result of a bad design in the first place.
  2044.    "All IBM PC video adapters have to support MDA text mode for
  2045.    hysterical reasons."  Compare {bug-for-bug compatible}.
  2046.  
  2047. :inc: /ink/ v. Common verbal shorthand for increment, i.e.
  2048.    `increase by one' (one doesn't tend to see the sbbreviation in
  2049.    writing or email).  Especially used by assembly programmers, as many
  2050.    assembly languages (including those for Intel chips) have an
  2051.    `inc' mnemonic.  Antonym: {dec}.
  2052.  
  2053. :Lubarsky's Law of Cybernetic Entomology: prov. "There is *always*
  2054.    one more bug."
  2055.  
  2056. :mailbomb: (also mail bomb) [USENET] 1. v. To send, or urge
  2057.    others to send, massive amounts of {email} to a single system or
  2058.    person, as in retaliation for a perceived serious offense.
  2059.    Mailbombing is itself widely regarded as a serious offense --- it
  2060.    can disrupt email traffic or other facilities for innocent users on
  2061.    the victim's system, and in extreme cases, even at upstream sites.
  2062.    2. n. An automatic procedure with a similar effect.  3. n. The mail
  2063.    sent.
  2064.  
  2065. :nagware: /nag'weir/ [USENET] n. The variety of {shareware}
  2066.    that displays a large screen at the beginning or end reminding you
  2067.    to register, typically requiring some sort of keystroke to continue
  2068.    so that you can't use the software in batch mode.  Compare
  2069.    {crippleware}.
  2070.  
  2071. :not ready for prime time: adj.  Usable, but only just so; not very
  2072.    robust; for internal use only.  Said of a program or device.  Often
  2073.    connotes that the thing will be made more solid {Real Soon
  2074.    Now}.  This term comes from the ensemble name of the original cast
  2075.    of "Saturday Night Live", the "Not Ready for Prime Time
  2076.    Players".  It has extra flavor for hackers because of the special
  2077.    (though now semi-obsolescent) meaning of {prime time}.
  2078.  
  2079. :ogg: /awg/ [CMU] v. 1. In the multi-player space combat game
  2080.    Netrek, to execute kamikaze attacks against enemy ships which are
  2081.    carrying armies or occupying strategic positions.  Named during a
  2082.    game in which one of the players repeatedly used the tactic while
  2083.    playing Orion ship G, showing up in the player list as "Og".
  2084.    This trick has been roundly denounced by those who would return to
  2085.    the good old days when the tactic of dogfighting was dominant, but
  2086.    as Sun Tzu wrote, "What is of supreme importance in war is to
  2087.    attack the enemy's strategy."  However, the traditional answer to
  2088.    the newbie question "What does ogg mean?" is just "Pick up some
  2089.    armies and I'll show you."  2. In other games, to forcefully
  2090.    attack an opponent with the expectation that the resources expended
  2091.    will be renewed faster than the opponent will be able to regain his
  2092.    previous advantage.  Taken more seriously as a tactic since it has
  2093.    gained a simple name.  3. To do anything forcefully, possibly
  2094.    without consideration of the drain on future resources.  "I guess
  2095.    I'd better go ogg the problem set that's due tomorrow."  "Whoops!
  2096.    I looked down at the map for a sec and almost ogged that oncoming
  2097.    car."
  2098.  
  2099. :optimism: n. What a programmer is full of after fixing what is
  2100.    presumably the last bug and just before actually discovering a next
  2101.    last bug . Fred Brooks's book `The Mythical Man-Month' (See
  2102.    `Brooks's Law'.) contains the following paragraph that describes
  2103.    this extremely well:
  2104.  
  2105.      All programmers are optimists. Perhaps this
  2106.      modern sorcery especially attracts those who believe in happy
  2107.      endings and fairy god-mothers. Perhaps the hundreds of nitty
  2108.      frustrations drive away all but those who habitually focus on the
  2109.      end goal. Perhaps it is merely that computers are young,
  2110.      programmers are younger, and the young are always optimists. But
  2111.      however the selection process works, the result is indisputable:
  2112.      "This time it will surely run," or "I just found the last bug.".
  2113.  
  2114.    See also {Lubarsky's Law of Cybernetic Entomology}.
  2115.  
  2116. :P-mail: n. Physical mail, as opposed to {email}.  Synonymous
  2117.    with {snail-mail}.
  2118.  
  2119. :PDL: 1. n. `Program Design Language'.  Any of a large
  2120.    class of formal and profoundly useless pseudo-languages in which
  2121.    {management} forces one to design programs.  {Management}
  2122.    often expects it to be maintained in parallel with the code.  See
  2123.    also {{flowchart}}.  2. v. To design using a program design
  2124.    language.  "I've been pdling so long my eyes won't focus beyond 2
  2125.    feet." 3. n. `Page Description Language'.  Refers to any language
  2126.    which is used to control a graphics device, usually a laserprinter.
  2127.    The most common example is, of course, Adobe's {{PostScript}}
  2128.    language, but there are many others, such as Xerox InterPress,
  2129.    etc.
  2130.  
  2131. :religion of CHI: n. /ki:/ [Case Western Reserve University] n.
  2132.    Yet another hackish parody religion (see also {Church of the
  2133.    SubGenius}, {Discordianism}).  In the mid-70s, the canonical
  2134.    "Introduction to Programming" courses at CWRU were taught in
  2135.    Algol, and student exercises were punched on cards and run on a
  2136.    Univac 1108 system using a homebrew operating system named CHI.
  2137.    The religion had no doctrines and but one ritual: whenever the
  2138.    worshipper noted that a digital clock read 11:08, he or she would
  2139.    recite the phrase "It is 11:08; ABS, ALPHABETIC, ARCSIN, ARCCOS,
  2140.    ARCTAN."  The last five words were the first five functions in the
  2141.    appropriate chapter of the Algol manual; note the special
  2142.    pronunciations /obz/ and /ark'sin/ rather than the more common
  2143.    /abz/ and /ark'si:n/.  Using an alarm clock to warn of 11:08's
  2144.    arrival was {considered harmful}.
  2145.  
  2146. :screaming tty: [UNIX] n. A terminal line which is either
  2147.    disconnected or connected to a powered-off terminal which, due to
  2148.    misconfiguration, misimplementation, or simple bad luck, acts as a
  2149.    source of an infinite number of random characters.  A screaming tty
  2150.    or two can seriously degrade the performance of a vanilla UNIX
  2151.    system; the arriving "characters" are treated as userid/password
  2152.    pairs and tested as such.  The UNIX password encryption algorithm
  2153.    is designed to be computationally intensive in order to foil
  2154.    brute-force crack attacks, so though none of the logins succeeds;
  2155.    the overhead of rejecting them all can be substantial.
  2156.  
  2157. :sharchive: [UNIX and USENET; from /bin/sh archive] n. A {flatten}ed
  2158.    representation of a set of one or more files, with the unique
  2159.    property that it can be unflattened (the original files restored) by
  2160.    feeding it through a standard UNIX shell; thus, a sharchive can be
  2161.    distributed to anyone running UNIX, and no special unpacking software is
  2162.    required.  Sharchives are also intriguing in that they are
  2163.    typically created by shell scripts; the script that produces
  2164.    sharchives is thus a script which produces self-unpacking scripts,
  2165.    which may themselves contain scripts.  (The downsides of sharchives
  2166.    are that they are an ideal venue for {Trojan horse} attacks and that,
  2167.    for recipients not running UNIX, no simple un-sharchiving program is
  2168.    possible; sharchives can and do make use of arbitrarily-powerful
  2169.    shell features.)
  2170.  
  2171. :Share and enjoy!: imp. 1. Commonly found at the end of software
  2172.    release announcements and {README file}s, this phrase indicates
  2173.    allegience to the hacker ethic of free information sharing (see
  2174.    {hacker ethic, the}, sense 1).  2. The motto of the Sirius
  2175.    Cybernetics Corporation (the ultimate gaggle of incompetent
  2176.    {suit}s) in Douglas Adams's `Hitch Hiker's Guide to the
  2177.    Galaxy'.  The irony of using this as a cultural recognition signal
  2178.    appeals to freeware hackers.
  2179.  
  2180. :shovelware: n. Extra software dumped onto a CD-ROM or tape to fill 
  2181.    up the remaining space on the medium after the software distribution
  2182.    it's intended to carry, but not integrated with the distribution.
  2183.  
  2184. :smoke: 1. vi. To {crash}, blow up, usually spectacularly. "The 
  2185.    new version smoked, just like the last one."  Used for both hardware
  2186.    (where it often describes an actual physical event), and software
  2187.    (where it's merely colorful).  2. vi. [from automotive slang] To be
  2188.    conspicuously fast.  "That processor really smokes."
  2189.  
  2190. :software laser: n. A laser works by bouncing photons back and
  2191.    forth between two mirrors, one totally reflective and one partially
  2192.    reflective.  If the lasing material (usually a crystal) has the
  2193.    right properties, photons scattering off the atoms in the crystal
  2194.    will excite cascades of more photons, all in lockstep.  Eventually
  2195.    the beam will escape through the partially-reflective mirror.  One
  2196.    kind of {sorcerer's apprentice mode} involving {bounce message}s
  2197.    can produce closely analogous results, with a {cascade} of
  2198.    messages escaping to flood nearby systems.  By mid-1993 there had
  2199.    been at least two publicized incidents of this kind.
  2200.  
  2201. :spelling flame: [USENET] n.  A posting ostentatiously correcting a
  2202.    previous article's spelling as a way of casting scorn on the point
  2203.    the article was trying to make, instead of actually responding to
  2204.    that point (compare {dictionary flame}).  Of course, people who
  2205.    are more than usually slovenly spellers are prone to think
  2206.    *any* correction is a spelling flame.
  2207.  
  2208. :splash screen: [Mac] n. Syn. {banner}, sense 3.
  2209.  
  2210. :spoiler: [USENET: sci.math and rec.puzzles] n. Any remark
  2211.    which telegraphs the solution of a problem or puzzle, thus denying
  2212.    the reader the pleasure of working out the correct answer (see also
  2213.    {interesting}).  Readily forms compounds like `total spoiler',
  2214.    `quasi-spoiler' and even `pseudo-spoiler'.
  2215.  
  2216. :spoo: n. Variant of {spooge}, sense 1.
  2217.  
  2218. :Sturgeon's Law: prov. "Ninety percent of everything is crap".  Derived
  2219.    from a quote by science fiction author Theodore Sturgeon, who once
  2220.    said, "Sure, 90% of science fiction is crud. That's because 90% of
  2221.    everything is crud."  Oddly, when Sturgeon's Law is cited, the 
  2222.    final word is almost invariably changed to `crap'.  Compare
  2223.    {Hanlon's Razor}.  Though this maxim originated in SF fandom,
  2224.    most hackers recognize it and are all too aware of its truth.
  2225.  
  2226. :syntactic salt: n. The opposite of {syntactic sugar}, a feature
  2227.    designed to make it harder to write bad code.  Specifically,
  2228.    syntactic salt is a hoop the programmer must jump through just to
  2229.    prove that he knows what's going on, rather than to express a
  2230.    program action.  Some programmers consider required type
  2231.    declarations to be syntactic salt.  A requirement to write
  2232.    `end if', `end while', `end do', etc. to terminate
  2233.    the last block controlled by a control construct (as opposed to
  2234.    just `end') would definitely be syntactic salt. Syntactic salt
  2235.    is like the real thing in that it tends to raise hackers' blood
  2236.    pressures in an unhealthy way..
  2237.  
  2238. :treeware: n. Printouts, books, and other information media made
  2239.    from pulped dead trees.  Compare {tree-killer}, see
  2240.    {documentation}.
  2241.  
  2242. :ventilator card: n. Syn. {lace card}.
  2243.  
  2244. :virtual shredder: n. The jargonic equivalent of the {bit bucket}
  2245.    at shops using IBM's VM/CMS operating system.  VM/CMS officially
  2246.    supports a whole bestiary of virtual card readers, virtual
  2247.    printers, and other phantom devices; these are used to supply some
  2248.    of the same capabilities UNIX gets from pipes and I/O redirection.
  2249.  
  2250. :YAFIYGI: /yaf'ee-y:-gee/ adj.  [coined in response to WYSIWYG]
  2251.    Describes the command-oriented ed/vi/nroff/TeX style of word
  2252.    processing or other user interface, the opposite of {WYSIWYG}.
  2253.    Stands for "You asked for it, you got it", because what you 
  2254.    actually asked for is often not apparent until long after it is too
  2255.    late to do anything about it.  Used to denote perversity ("Real
  2256.    Programmers use YAFIYGI tools...and *like* it!") or, less 
  2257.    often, a necessary tradeoff ("Only a YAFIYGI tool can have full
  2258.    programmable flexibility in its interface.").
  2259.  
  2260. :YKYBHTL: An abbreviation of `You Know You've Been Hacking Too Long'
  2261.    established on the USENET group alt.folklore.computers during
  2262.    extended discussion of the indicated entry in the Jargon File.
  2263.  
  2264.  
  2265. ************** Changed entries in 2.9.7 ***************
  2266.  
  2267. :Chernobyl packet: /cher-noh'b*l pak'*t/ n. A network packet that
  2268.    induces a {broadcast storm} and/or {network meltdown},
  2269.    in memory of the April 1986 nuclear accident at Chernobyl
  2270.    in Ukraine.  The typical scenario involves an IP Ethernet datagram
  2271.    that passes through a gateway with both source and destination
  2272.    Ether and IP address set as the respective broadcast addresses for
  2273.    the subnetworks being gated between.  Compare {Christmas tree
  2274.    packet}.
  2275.  
  2276. :delint: /dee-lint/ v. To modify code to remove problems detected
  2277.    when {lint}ing.  Confusingly, this process is also referred to
  2278.    as `linting' code.
  2279.  
  2280. :epoch: [UNIX: prob. from astronomical timekeeping] n. The time
  2281.    and date corresponding to 0 in an operating system's clock and
  2282.    timestamp values.  Under most UNIX versions the epoch is 00:00:00
  2283.    GMT, January 1, 1970; under VMS, it's 00:00:00 GMT of November 17,
  2284.    1858 (base date of the U.S. Naval Observatory's ephemerides).
  2285.    System time is measured in seconds or {tick}s past the epoch.
  2286.    Weird problems may ensue when the clock wraps around (see {wrap
  2287.    around}), which is not necessarily a rare event; on systems
  2288.    counting 10 ticks per second, a signed 32-bit count of ticks is
  2289.    good only for 6.8 years.  The 1-tick-per-second clock of UNIX is
  2290.    good only until January 18, 2038, assuming at least some software
  2291.    continues to consider it signed and that word lengths don't
  2292.    increase by then.  See also {wall time}.
  2293.  
  2294. :exec: /eg-zek'/ vt., n.  1. [UNIX: from `execute'] Synonym for
  2295.    {chain}, derives from the `exec(2)' call.  2. [from
  2296.    `executive'] obs. The command interpreter for an {OS} (see
  2297.    {shell}); term esp. used around mainframes, and prob.
  2298.    derived from UNIVAC's archaic EXEC 2 and EXEC 8 operating systems.
  2299.    3. At IBM and VM/CMS shops, the equivalent of a shell command file
  2300.    (among VM/CMS users).
  2301.  
  2302.    The mainstream `exec' as an abbreviation for (human) executive is
  2303.    *not* used.  To a hacker, an `exec' is a always a program,
  2304.    never a person.
  2305.  
  2306. :kremvax: /krem-vaks/ [from the then large number of {USENET}
  2307.    {VAXen} with names of the form foovax] n. Originally, a
  2308.    fictitious USENET site at the Kremlin, announced on April 1, 1984
  2309.    in a posting ostensibly originated there by Soviet leader
  2310.    Konstantin Chernenko.  The posting was actually forged by Piet
  2311.    Beertema as an April Fool's joke.  Other fictitious sites mentioned
  2312.    in the hoax were moskvax and {kgbvax}.  This was probably
  2313.    the funniest of the many April Fool's forgeries perpetrated on
  2314.    USENET (which has negligible security against them), because the
  2315.    notion that USENET might ever penetrate the Iron Curtain seemed so
  2316.    totally absurd at the time.
  2317.  
  2318.    In fact, it was only six years later that the first genuine site in
  2319.    Moscow, demos.su, joined USENET.  Some readers needed
  2320.    convincing that the postings from it weren't just another prank.
  2321.    Vadim Antonov, senior programmer at Demos and the major poster from
  2322.    there up to mid-1991, was quite aware of all this, referred to it
  2323.    frequently in his own postings, and at one point twitted some
  2324.    credulous readers by blandly asserting that he *was* a
  2325.    hoax!
  2326.  
  2327.    Eventually he even arranged to have the domain's gateway site
  2328.    *named* kremvax, thus neatly turning fiction into truth
  2329.    and demonstrating that the hackish sense of humor transcends
  2330.    cultural barriers.  [Mr. Antonov also contributed the
  2331.    Russian-language material for this lexicon. --- ESR]
  2332.  
  2333.    In an even more ironic historical footnote, kremvax became an
  2334.    electronic center of the anti-communist resistance during the
  2335.    bungled hard-line coup of August 1991.  During those three days the
  2336.    Soviet UUCP network centered on kremvax became the only
  2337.    trustworthy news source for many places within the USSR.  Though
  2338.    the sysops were concentrating on internal communications,
  2339.    cross-border postings included immediate transliterations of Boris
  2340.    Yeltsin's decrees condemning the coup and eyewitness reports of the
  2341.    demonstrations in Moscow's streets.  In those hours, years of
  2342.    speculation that totalitarianism would prove unable to maintain its
  2343.    grip on politically-loaded information in the age of computer
  2344.    networking were proved devastatingly accurate --- and the original
  2345.    kremvax joke became a reality as Yeltsin and the new Russian
  2346.    revolutionaries of `glasnost' and `perestroika' made
  2347.    kremvax one of the timeliest means of their outreach to the
  2348.    West.
  2349.  
  2350. :PDL: 1. n. `Program Design Language'.  Any of a large
  2351.    class of formal and profoundly useless pseudo-languages in which
  2352.    {management} forces one to design programs.  {Management}
  2353.    often expects it to be maintained in parallel with the code.  See
  2354.    also {{flowchart}}.  2. v. To design using a program design
  2355.    language.  "I've been pdling so long my eyes won't focus beyond 2
  2356.    feet." 3. n. `Page Description Language'.  Refers to any language
  2357.    which is used to control a graphics device, usually a laserprinter.
  2358.    The most common example is, of course, Adobe's {{PostScript}}
  2359.    language, but there are many others, such as Xerox InterPress,
  2360.    etc.
  2361.  
  2362. :ping: [from the TCP/IP acronym `Packet INternet Groper', prob.
  2363.    originally contrived to match the submariners' term for a sonar
  2364.    pulse] 1. n.  Slang term for a small network message (ICMP ECHO)
  2365.    sent by a computer to check for the presence and aliveness of
  2366.    another.  Occasionally used as a phone greeting.  See {ACK},
  2367.    also {ENQ}.  2. vt. To verify the presence of.  3. vt. To get
  2368.    the attention of.  From the UNIX command `ping(1)' that sends
  2369.    an ICMP ECHO packet to another host.  4. vt. To send a message to
  2370.    all members of a {mailing list} requesting an {ACK} (in order
  2371.    to verify that everybody's addresses are reachable).  "We haven't
  2372.    heard much of anything from Geoff, but he did respond with an ACK
  2373.    both times I pinged jargon-friends."  5. n. A quantum packet of
  2374.    happiness.  People who are very happy tend to exude pings;
  2375.    furthermore, one can intentionally create pings and aim them at a
  2376.    needy party (e.g., a depressed person).  This sense of ping may
  2377.    appear as an exclamation; "Ping!" (I'm happy; I am emitting a
  2378.    quantum of happiness; I have been struck by a quantum of
  2379.    happiness).  The form "pingfulness", which is used to describe
  2380.    people who exude pings, also occurs.  (In the standard abuse of
  2381.    language, "pingfulness" can also be used as an exclamation, in
  2382.    which case it's a much stronger exclamation than just "ping"!).
  2383.    Oppose {blargh}.
  2384.  
  2385.    The funniest use of `ping' to date was described in January 1991 by
  2386.    Steve Hayman on the USENET group comp.sys.next.  He was trying
  2387.    to isolate a faulty cable segment on a TCP/IP Ethernet hooked up to
  2388.    a NeXT machine, and got tired of having to run back to his console
  2389.    after each cabling tweak to see if the ping packets were getting
  2390.    through.  So he used the sound-recording feature on the NeXT, then
  2391.    wrote a script that repeatedly invoked `ping(8)', listened for
  2392.    an echo, and played back the recording on each returned packet.
  2393.    Result?  A program that caused the machine to repeat, over and
  2394.    over, "Ping ... ping ... ping ..." as long as the
  2395.    network was up.  He turned the volume to maximum, ferreted through
  2396.    the building with one ear cocked, and found a faulty tee connector
  2397.    in no time.
  2398.  
  2399. :plumbing: [UNIX] n. Term used for {shell} code, so called
  2400.    because of the prevalence of `pipelines' that feed the output of
  2401.    one program to the input of another.  Under UNIX, user utilities
  2402.    can often be implemented or at least prototyped by a suitable
  2403.    collection of pipelines and temp-file grinding encapsulated in a
  2404.    shell script; this is much less effort than writing C every time,
  2405.    and the capability is considered one of UNIX's major winning
  2406.    features.  A few other OSs such as IBM's VM/CMS support similar
  2407.    facilities.  Esp. used in the construction `hairy plumbing'
  2408.    (see {hairy}).  "You can kluge together a basic spell-checker
  2409.    out of `sort(1)', `comm(1)', and `tr(1)' with a
  2410.    little plumbing."  See also {tee}.
  2411.  
  2412. :randomness: n. 1. An inexplicable misfeature; gratuitous
  2413.    inelegance.  2. A {hack} or {crock} that depends on a complex
  2414.    combination of coincidences (or, possibly, the combination upon
  2415.    which the crock depends for its accidental failure to malfunction).
  2416.    "This hack can output characters 40--57 by putting the character
  2417.    in the four-bit accumulator field of an XCT and then extracting
  2418.    six bits --- the low 2 bits of the XCT opcode are the right
  2419.    thing."  "What randomness!"  3. Of people, synonymous with
  2420.    `flakiness'. The connotation is that the person so described is
  2421.    behaving weirdly, incompetently, or inappropriately for reasons
  2422.    which are (a) too tiresome to bother inquiring into, (b) are
  2423.    probably as inscrutable as quantum phenomena anyway, and (c) are
  2424.    likely to pass with time. "Maybe he has a real complaint, or maybe
  2425.    it's just randomness.  See if he calls back."
  2426.  
  2427. :toto: /toh'toh/ n. This is reported to be the default scratch
  2428.    file name among French-speaking programmers --- in other words, a
  2429.    francophone {foo}.  It is reported that the phonetic mutations
  2430.    "titi", "tata", and "tutu" canonically follow `toto',
  2431.    analogously to {bar}, {baz} and {quux} in English.
  2432.  
  2433.  
  2434. ************** Changed entries in 2.9.8 ***************
  2435.  
  2436. :forked: [UNIX; prob. influenced by a mainstream expletive] adj.
  2437.    Terminally slow, or dead.  Originated when one system was slowed to
  2438.    a snail's pace by an inadvertent {fork bomb}.
  2439.  
  2440. :hacker: [originally, someone who makes furniture with an axe] n.
  2441.    1. A person who enjoys exploring the details of programmable
  2442.    systems and how to stretch their capabilities, as opposed to most
  2443.    users, who prefer to learn only the minimum necessary.  2. One who
  2444.    programs enthusiastically (even obsessively) or who enjoys
  2445.    programming rather than just theorizing about programming.  3. A
  2446.    person capable of appreciating {hack value}.  4. A person who is
  2447.    good at programming quickly.  5. An expert at a particular program,
  2448.    or one who frequently does work using it or on it; as in `a UNIX
  2449.    hacker'.  (Definitions 1 through 5 are correlated, and people who
  2450.    fit them congregate.)  6. An expert or enthusiast of any kind.  One
  2451.    might be an astronomy hacker, for example.  7. One who enjoys the
  2452.    intellectual challenge of creatively overcoming or circumventing
  2453.    limitations.  8. [deprecated] A malicious meddler who tries to
  2454.    discover sensitive information by poking around.  Hence `password
  2455.    hacker', `network hacker'.  The correct term is {cracker}.
  2456.  
  2457.    The term `hacker' also tends to connote membership in the global
  2458.    community defined by the net (see {network, the} and
  2459.    {Internet address}).  It also implies that the person described
  2460.    is seen to subscribe to some version of the hacker ethic (see
  2461.    {hacker ethic, the}.
  2462.  
  2463.    It is better to be described as a hacker by others than to describe
  2464.    oneself that way.  Hackers consider themselves something of an
  2465.    elite (a meritocracy based on ability), though one to which new
  2466.    members are gladly welcome.  There is thus a certain ego
  2467.    satisfaction to be had in identifying yourself as a hacker (but if
  2468.    you claim to be one and are not, you'll quickly be labeled
  2469.    {bogus}).  See also {wannabee}.
  2470.  
  2471. :Pascal:: n. An Algol-descended language designed by Niklaus Wirth
  2472.    on the CDC 6600 around 1967--68 as an instructional tool for
  2473.    elementary programming.  This language, designed primarily to keep
  2474.    students from shooting themselves in the foot and thus extremely
  2475.    restrictive from a general-purpose-programming point of view, was
  2476.    later promoted as a general-purpose tool and, in fact, became the
  2477.    ancestor of a large family of languages including Modula-2 and
  2478.    {{Ada}} (see also {bondage-and-discipline language}).  The
  2479.    hackish point of view on Pascal was probably best summed up by a
  2480.    devastating (and, in its deadpan way, screamingly funny) 1981 paper
  2481.    by Brian Kernighan (of {K&R} fame) entitled "Why Pascal is
  2482.    Not My Favorite Programming Language", which was turned down by the
  2483.    technical journals but circulated widely via photocopies.  It was
  2484.    eventually published in "Comparing and Assessing Programming
  2485.    Languages", edited by Alan Feuer and Narain Gehani (Prentice-Hall,
  2486.    1984).  Part of his discussion is worth repeating here, because its
  2487.    criticisms are still apposite to Pascal itself after ten years of
  2488.    improvement and could also stand as an indictment of many other
  2489.    bondage-and-discipline languages.  At the end of a summary of the
  2490.    case against Pascal, Kernighan wrote:
  2491.  
  2492.      9. There is no escape
  2493.  
  2494.      This last point is perhaps the most important.  The language is
  2495.      inadequate but circumscribed, because there is no way to escape its
  2496.      limitations.  There are no casts to disable the type-checking when
  2497.      necessary.  There is no way to replace the defective run-time
  2498.      environment with a sensible one, unless one controls the compiler
  2499.      that defines the "standard procedures".  The language is closed.
  2500.  
  2501.      People who use Pascal for serious programming fall into a fatal
  2502.      trap.  Because the language is impotent, it must be extended.  But
  2503.      each group extends Pascal in its own direction, to make it look
  2504.      like whatever language they really want.  Extensions for separate
  2505.      compilation, FORTRAN-like COMMON, string data types, internal
  2506.      static variables, initialization, octal numbers, bit operators,
  2507.      etc., all add to the utility of the language for one group but
  2508.      destroy its portability to others.
  2509.  
  2510.      I feel that it is a mistake to use Pascal for anything much beyond
  2511.      its original target.  In its pure form, Pascal is a toy language,
  2512.      suitable for teaching but not for real programming.
  2513.  
  2514.    Pascal has since been almost entirely displaced (by {C}) from the
  2515.    niches it had acquired in serious applications and systems
  2516.    programming, but retains some popularity as a hobbyist language in
  2517.    the MS-DOS and Macintosh worlds.
  2518.  
  2519. :Purple Book: n. 1. The `System V Interface Definition'.  The
  2520.    covers of the first editions were an amazingly nauseating shade of
  2521.    off-lavender.  2. Syn. {Wizard Book}.  See also {{book
  2522.    titles}}.
  2523.  
  2524. :Wizard Book: n. Hal Abelson's, Jerry Sussman's and Julie Sussman's
  2525.    `Structure and Interpretation of Computer Programs' (MIT
  2526.    Press, 1984; ISBN 0-262-01077-1), an excellent computer science text
  2527.    used in introductory courses at MIT.  So called because of the
  2528.    wizard on the jacket.  One of the {bible}s of the LISP/Scheme
  2529.    world.  Also, less commonly, known as the {Purple Book}.
  2530.  
  2531.  
  2532. ************** Changed entries in 2.9.9 ***************
  2533.  
  2534. :ASCII:: [American Standard Code for Information Interchange]
  2535.    /as'kee/ n. The predominant character set encoding of present-day
  2536.    computers.  he modern version uses 7 bits for each character,
  2537.    whereas most earlier codes (including an early version of ASCII)
  2538.    used fewer.  This change allowed the inclusion of lowercase letters
  2539.    --- a major {win} --- but it did not provide for accented
  2540.    letters or any other letterforms not used in English (such as the
  2541.    German sharp-S
  2542.    or the ae-ligature
  2543.    which is a letter in, for example, Norwegian).  It could be worse,
  2544.    though.  It could be much worse.  See {{EBCDIC}} to understand how.
  2545.    
  2546.    Computers are much pickier and less flexible about spelling than
  2547.    humans; thus, hackers need to be very precise when talking about
  2548.    characters, and have developed a considerable amount of verbal
  2549.    shorthand for them.  Every character has one or more names --- some
  2550.    formal, some concise, some silly.  Common jargon names for ASCII
  2551.    characters are collected here.  See also individual entries for
  2552.    {bang}, {excl}, {open}, {ques}, {semi}, {shriek},
  2553.    {splat}, {twiddle}, and {Yu-Shiang Whole Fish}.
  2554.  
  2555.    This list derives from revision 2.3 of the USENET ASCII
  2556.    pronunciation guide.  Single characters are listed in ASCII order;
  2557.    character pairs are sorted in by first member.  For each character,
  2558.    common names are given in rough order of popularity, followed by
  2559.    names that are reported but rarely seen; official ANSI/CCITT names
  2560.    are surrounded by brokets: <>.  Square brackets mark the
  2561.    particularly silly names introduced by {INTERCAL}.  The
  2562.    abbreviations "l/r" and "o/c" stand for left/right and
  2563.    "open/close" respectively.  Ordinary parentheticals provide some
  2564.    usage information.
  2565.  
  2566.      !
  2567.           Common: {bang}; pling; excl; shriek; <exclamation mark>.
  2568.           Rare: factorial; exclam; smash; cuss; boing; yell; wow; hey;
  2569.           wham; eureka; [spark-spot]; soldier.
  2570.  
  2571.      "
  2572.           Common: double quote; quote.  Rare: literal mark;
  2573.           double-glitch; <quotation marks>; <dieresis>; dirk;
  2574.           [rabbit-ears]; double prime.
  2575.  
  2576.      #
  2577.           Common: number sign; pound; pound sign; hash; sharp; {crunch};
  2578.           hex; [mesh].  Rare: grid; cross-hatch; oc-to-thorpe; flash;
  2579.           <square>, pig-pen; tic-tac-toe; scratchmark; thud; thump;
  2580.           {splat}.
  2581.  
  2582.      $
  2583.           Common: dollar; <dollar sign>.  Rare: currency symbol; buck;
  2584.           cash; string (from BASIC); escape (when used as the echo of
  2585.           ASCII ESC); ding; cache; [big money].
  2586.  
  2587.      %
  2588.           Common: percent; <percent sign>; mod; grapes.  Rare:
  2589.           [double-oh-seven].
  2590.  
  2591.      &
  2592.           Common: <ampersand>; amper; and.  Rare: address (from C);
  2593.           reference (from C++); andpersand; bitand; background (from
  2594.           `sh(1)'); pretzel; amp.  [INTERCAL called this `ampersand';
  2595.           what could be sillier?]
  2596.  
  2597.      '
  2598.           Common: single quote; quote; <apostrophe>.  Rare: prime;
  2599.           glitch; tick; irk; pop; [spark]; <closing single quotation
  2600.           mark>; <acute accent>.
  2601.  
  2602.      ( )
  2603.  
  2604.           Common: l/r paren; l/r parenthesis; left/right; o-pen-/-close;
  2605.           par-en/the-sis; o/c paren; o/c par-en-the-sis; l/r
  2606.           paren-the-sis; l/r ba-na-na.  Rare: so/al-ready;
  2607.           lparen/rparen; <opening/closing parenthesis>; o/c round
  2608.           bracket, l/r round bracket, [wax/wane];
  2609.           par-en-this-ey/un-par-en-this-ey; l/r ear.
  2610.  
  2611.      *
  2612.           Common: star; [{splat}]; <asterisk>.  Rare: wildcard; gear;
  2613.           dingle; mult; spider; aster; times; twinkle; glob (see
  2614.           {glob}); {Nathan Hale}.
  2615.  
  2616.      +
  2617.           Common: <plus>; add.  Rare: cross; [intersection].
  2618.  
  2619.      ,
  2620.           Common: <comma>.  Rare: <cedilla>; [tail].
  2621.  
  2622.      -
  2623.           Common: dash; <hyphen>; <minus>.  Rare: [worm]; option; dak;
  2624.           bithorpe.
  2625.  
  2626.      .
  2627.           Common: dot; point; <period>; <decimal point>.  Rare: radix
  2628.           point; full stop; [spot].
  2629.  
  2630.      /
  2631.           Common: slash; stroke; <slant>; forward slash.  Rare:
  2632.           diagonal; solidus; over; slak; virgule; [slat].
  2633.  
  2634.      :
  2635.           Common: <colon>.  Rare: dots; [two-spot].
  2636.  
  2637.      ;
  2638.           Common: <semicolon>; semi.  Rare: weenie; [hybrid],
  2639.           pit-thwong.
  2640.  
  2641.      < >
  2642.           Common: <less/great-er than>; bra/ket; l/r angle; l/r angle
  2643.           bracket; l/r broket.  Rare: from/{into, towards}; read
  2644.           from/write to; suck/blow; comes-from/gozinta; in/out;
  2645.           crunch/zap (all from UNIX); [angle/right angle].
  2646.  
  2647.      =
  2648.           Common: <equals>; gets; takes.  Rare: quadrathorpe;
  2649.           [half-mesh].
  2650.  
  2651.      ?
  2652.           Common: query; <question mark>; {ques}.  Rare: whatmark;
  2653.           [what]; wildchar; huh; hook; buttonhook; hunchback.
  2654.  
  2655.      @
  2656.           Common: at sign; at; strudel.  Rare: each; vortex; whorl;
  2657.           [whirlpool]; cyclone; snail; ape; cat; rose; cabbage;
  2658.           <commercial at>.
  2659.  
  2660.      V
  2661.           Rare: [book].
  2662.  
  2663.      [ ]
  2664.           Common: l/r square bracket; l/r bracket; <opening/closing
  2665.           brack-et>; brack-et/un-brack-et.  Rare: square-/-un-square; [U
  2666.           turn/U turn back].
  2667.  
  2668.      \
  2669.           Common: backslash; escape (from C/UNIX); reverse slash; slosh;
  2670.           backslant; backwhack.  Rare: bash; <reverse slant>; reversed
  2671.           virgule; [backslat].
  2672.  
  2673.      ^
  2674.           Common: hat; control; uparrow; caret; <circumflex>.  Rare:
  2675.           chevron; [shark (or shark-fin)]; to the (`to the power of');
  2676.           fang; pointer (in Pascal).
  2677.  
  2678.      _
  2679.           Common: <underline>; underscore; underbar; under.  Rare:
  2680.           score; backarrow; skid; [flatworm].
  2681.  
  2682.      `
  2683.           Common: backquote; left quote; left single quote; open quote;
  2684.           <grave accent>; grave.  Rare: backprime; [backspark];
  2685.           unapostrophe; birk; blugle; back tick; back glitch; push;
  2686.           <opening single quotation mark>; quasiquote.
  2687.  
  2688.      { }
  2689.           Common: o/c brace; l/r brace; l/r squiggly; l/r squiggly
  2690.           bracket/brace; l/r curly bracket/brace; <opening/closing
  2691.           brace>.  Rare: brace/unbrace; curly/un-curly; leftit/rytit;
  2692.           l/r squirrelly; [embrace/bracelet].
  2693.  
  2694.      |
  2695.           Common: bar; or; or-bar; v-bar; pipe; vertical bar.  Rare:
  2696.           <vertical line>; gozinta; thru; pipesinta (last three from
  2697.           UNIX); [spike].
  2698.  
  2699.      ~ 
  2700.           Common: <tilde>; squiggle; {twiddle}; not.  Rare: approx;
  2701.           wiggle; swung dash; enyay; [sqiggle (sic)].
  2702.  
  2703.    The pronunciation of `#' as `pound' is common in the U.S.
  2704.    but a bad idea; {{Commonwealth Hackish}} has its own, rather more
  2705.    apposite use of `pound sign' (confusingly, on British keyboards
  2706.    the pound graphic
  2707.    happens to replace `#'; thus Britishers sometimes
  2708.    call `#' on a U.S.-ASCII keyboard `pound', compounding the
  2709.    American error).  The U.S. usage derives from an old-fashioned
  2710.    commercial practice of using a `#' suffix to tag pound weights
  2711.    on bills of lading.  The character is usually pronounced `hash'
  2712.    outside the U.S.
  2713.  
  2714.    The `uparrow' name for circumflex and `leftarrow' name for
  2715.    underline are historical relics from archaic ASCII (the 1963
  2716.    version), which had these graphics in those character positions
  2717.    rather than the modern punctuation characters.
  2718.  
  2719.    The `swung dash' or `approximation' sign is not quite the same
  2720.    as tilde in typeset material
  2721.    but the ASCII tilde serves for both (compare {angle
  2722.    brackets}).
  2723.  
  2724.    Some other common usages cause odd overlaps.  The `#',
  2725.    `$', `>', and `&' characters, for example, are all
  2726.    pronounced "hex" in different communities because various
  2727.    assemblers use them as a prefix tag for hexadecimal constants (in
  2728.    particular, `#' in many assembler-programming cultures,
  2729.    `$' in the 6502 world, `>' at Texas Instruments, and
  2730.    `&' on the BBC Micro, Sinclair, and some Z80 machines).  See
  2731.    also {splat}.
  2732.  
  2733.    The inability of ASCII text to correctly represent any of the
  2734.    world's other major languages makes the designers' choice of 7 bits
  2735.    look more and more like a serious {misfeature} as the use of
  2736.    international networks continues to increase (see {software
  2737.    rot}).  Hardware and software from the U.S. still tends to embody
  2738.    the assumption that ASCII is the universal character set and that
  2739.    characters have 7 bits; this is a a major irritant to people who
  2740.    want to use a character set suited to their own languages.
  2741.    Perversely, though, efforts to solve this problem by proliferating
  2742.    `national' character sets produce an evolutionary pressure to use
  2743.    a *smaller* subset common to all those in use.
  2744.  
  2745. :baz: /baz/ n. 1. The third {metasyntactic variable} "Suppose we
  2746.    have three functions: FOO, BAR, and BAZ.  FOO calls BAR, which
  2747.    calls BAZ...." (See also {fum}) 2. interj. A term of mild
  2748.    annoyance.  In this usage the term is often drawn out for 2 or 3
  2749.    seconds, producing an effect not unlike the bleating of a sheep;
  2750.    /baaaaaaz/.  3. Occasionally appended to {foo} to produce
  2751.    `foobaz'.
  2752.  
  2753.    Earlier versions of this lexicon derived `baz' as a Stanford
  2754.    corruption of {bar}.  However, Pete Samson (compiler of the
  2755.    {TMRC} lexicon) reports it was already current when he joined TMRC
  2756.    in 1958.  He says "It came from `Pogo'.  Albert the Alligator,
  2757.    when vexed or outraged, would shout `Bazz Fazz!' or `Rowrbazzle!'
  2758.    The club layout was said to model the (mythical) New England
  2759.    counties of Rowrfolk and Bassex (Rowrbazzle mingled with
  2760.    (Norfolk/Suffolk/Middlesex/Essex)."
  2761.  
  2762. :bounce: v. 1. [perhaps by analogy to a bouncing check] An
  2763.    electronic mail message that is undeliverable and returns an error
  2764.    notification to the sender is said to `bounce'.  See also
  2765.    {bounce message}.  2. [Stanford] To play volleyball.  The
  2766.    now-demolished {D. C. Power Lab} building used by the Stanford
  2767.    AI Lab in the 1970s had a volleyball court on the front lawn.  From
  2768.    5 P.M. to 7 P.M. was the scheduled maintenance time for the
  2769.    computer, so every afternoon at 5 would come over the intercom the
  2770.    cry: "Now hear this: bounce, bounce!", followed by Brian McCune
  2771.    loudly bouncing a volleyball on the floor outside the offices of
  2772.    known volleyballers.  3. To engage in sexual intercourse; prob.
  2773.    from the expression `bouncing the mattress', but influenced by
  2774.    Roo's psychosexually loaded "Try bouncing me, Tigger!" from the
  2775.    "Winnie-the-Pooh" books.  Compare {boink}.  4. To casually
  2776.    reboot a system in order to clear up a transient problem.  Reported
  2777.    primarily among {VMS} users.  5.  [VM/CMS programmers]
  2778.    *Automatic* warm-start of a machine after an error.  "I
  2779.    logged on this morning and found it had bounced 7 times during the
  2780.    night" 6. [IBM] To {power cycle} a peripheral in order to reset
  2781.    it.
  2782.  
  2783. :bug: n. An unwanted and unintended property of a program or piece
  2784.    of hardware, esp. one that causes it to malfunction.  Antonym of
  2785.    {feature}.  Examples: "There's a bug in the editor: it writes
  2786.    things out backwards."  "The system crashed because of a hardware
  2787.    bug."  "Fred is a winner, but he has a few bugs" (i.e., Fred is
  2788.    a good guy, but he has a few personality problems).
  2789.  
  2790.    Historical note: Admiral Grace Hopper (an early computing pioneer
  2791.    better known for inventing {COBOL}) liked to tell a story in
  2792.    which a technician solved a persistent {glitch} in the Harvard
  2793.    Mark II machine by pulling an actual insect out from between the
  2794.    contacts of one of its relays, and she subsequently promulgated
  2795.    {bug} in its hackish sense as a joke about the incident (though,
  2796.    as she was careful to admit, she was not there when it happened).
  2797.    For many years the logbook associated with the incident and the
  2798.    actual bug in question (a moth) sat in a display case at the Naval
  2799.    Surface Warfare Center (NSWC).  The entire story, with a picture of
  2800.    the logbook and the moth taped into it, is recorded in the
  2801.    `Annals of the History of Computing', Vol. 3, No. 3
  2802.    (July 1981), pp. 285--286.
  2803.  
  2804.    The text of the log entry (from September 9, 1947), reads "1545
  2805.    Relay #70 Panel F (moth) in relay.  First actual case of bug being
  2806.    found".  This wording establishes that the term was already
  2807.    in use at the time in its current specific sense --- and Hopper
  2808.    herself reports that the term `bug' was regularly applied to
  2809.    problems in radar electronics during WWII.
  2810.  
  2811.    Indeed, the use of `bug' to mean an industrial defect was already
  2812.    established in Thomas Edison's time, and a more specific and rather
  2813.    modern use can be found in an electrical handbook from 1896
  2814.    (`Hawkin's New Catechism of Electricity', Theo. Audel & Co.)
  2815.    which says: "The term `bug' is used to a limited extent to
  2816.    designate any fault or trouble in the connections or working of
  2817.    electric apparatus."  It further notes that the term is "said to
  2818.    have originated in quadruplex telegraphy and have been transferred
  2819.    to all electric apparatus."
  2820.  
  2821.    The latter observation may explain a common folk etymology of the
  2822.    term; that it came from telephone company usage, in which "bugs in
  2823.    a telephone cable" were blamed for noisy lines.  Though this
  2824.    derivation seems to be mistaken, it may well be a distorted memory
  2825.    of a joke first current among *telegraph* operators more than
  2826.    a century ago!
  2827.  
  2828.    Actually, use of `bug' in the general sense of a disruptive event
  2829.    goes back to Shakespeare!  In the first edition of Samuel Johnson's
  2830.    dictionary one meaning of `bug' is "A frightful object; a
  2831.    walking spectre"; this is traced to `bugbear', a Welsh term for
  2832.    a variety of mythological monster which (to complete the circle)
  2833.    has recently been reintroduced into the popular lexicon through
  2834.    fantasy role-playing games.
  2835.  
  2836.    In any case, in jargon the word almost never refers to insects.
  2837.    Here is a plausible conversation that never actually happened:
  2838.  
  2839.    "There is a bug in this ant farm!"
  2840.  
  2841.    "What do you mean?  I don't see any ants in it."
  2842.  
  2843.    "That's the bug."
  2844.  
  2845.    [There has been a widespread myth that the original bug was moved
  2846.    to the Smithsonian, and an earlier version of this entry so
  2847.    asserted.  A correspondent who thought to check discovered that the
  2848.    bug was not there.  While investigating this in late 1990, your
  2849.    editor discovered that the NSWC still had the bug, but had
  2850.    unsuccessfully tried to get the Smithsonian to accept it --- and
  2851.    that the present curator of their History of American Technology
  2852.    Museum didn't know this and agreed that it would make a worthwhile
  2853.    exhibit.  It was moved to the Smithsonian in mid-1991.  Thus, the
  2854.    process of investigating the original-computer-bug bug fixed it in
  2855.    an entirely unexpected way, by making the myth true!  --- ESR]
  2856.  
  2857.    [1992 update: the plot thickens!  A usually reliable source reports
  2858.    having seen The Bug at the Smithsonian in 1978.  I am unable to
  2859.    reconcile the conflicting histories I have been offered, and merely
  2860.    report this fact here. --- ESR.]
  2861.  
  2862. :compress: [UNIX] vt. When used without a qualifier, generally
  2863.    refers to {crunch}ing of a file using a particular
  2864.    C implementation of compression by James A. Woods et al. and
  2865.    widely circulated via {USENET}; use of {crunch} itself in
  2866.    this sense is rare among UNIX hackers.  Specifically, compress is
  2867.    built around the Lempel-Ziv-Welch algorithm as described in "A
  2868.    Technique for High Performance Data Compression", Terry A. Welch,
  2869.    `IEEE Computer', vol. 17, no. 6 (June 1984), pp. 8--19.
  2870.  
  2871. :copybroke: /ko'pee-brohk/ adj. 1. [play on `copyright'] Used
  2872.    to describe an instance of a copy-protected program that has been
  2873.    `broken'; that is, a copy with the copy-protection scheme
  2874.    disabled.  Syn.  {copywronged}.  2. Copy-protected software
  2875.    which is unusable because of some bit-rot or bug that has confused
  2876.    the anti-piracy check.  See also {copy protection}.
  2877.  
  2878. :cracker: n. One who breaks security on a system.  Coined ca. 1985
  2879.    by hackers in defense against journalistic misuse of {hacker}
  2880.    (q.v., sense 8).  An earlier attempt to establish `worm' in this
  2881.    sense around 1981--82 on USENET was largely a failure.
  2882.  
  2883.    Both these neologisms reflected a strong revulsion against the
  2884.    theft and vandalism perpetrated by cracking rings.  While it is
  2885.    expected that any real hacker will have done some playful cracking
  2886.    and knows many of the basic techniques, anyone past {larval
  2887.    stage} is expected to have outgrown the desire to do so.
  2888.  
  2889.    Thus, there is far less overlap between hackerdom and crackerdom
  2890.    than the {mundane} reader misled by sensationalistic journalism
  2891.    might expect.  Crackers tend to gather in small, tight-knit, very
  2892.    secretive groups that have little overlap with the huge, open
  2893.    poly-culture this lexicon describes; though crackers often like to
  2894.    describe *themselves* as hackers, most true hackers consider
  2895.    them a separate and lower form of life.
  2896.  
  2897.    Ethical considerations aside, hackers figure that anyone who can't
  2898.    imagine a more interesting way to play with their computers than
  2899.    breaking into someone else's has to be pretty {losing}.  Some
  2900.    other reasons crackers are looked down on are discussed in the
  2901.    entries on {cracking} and {phreaking}.  See also
  2902.    {samurai}, {dark-side hacker}, and {hacker ethic,
  2903.    the}.
  2904.  
  2905. :cruft: /kruhft/ [back-formation from {crufty}] 1. n. An
  2906.    unpleasant substance.  The dust that gathers under your bed is
  2907.    cruft; the TMRC Dictionary correctly noted that attacking it with a
  2908.    broom only produces more.  2. n. The results of shoddy
  2909.    construction.  3. vt. [from `hand cruft', pun on `hand craft']
  2910.    To write assembler code for something normally (and better) done by
  2911.    a compiler (see {hand-hacking}).  4. n. Excess; superfluous
  2912.    junk; used esp. of redundant or superseded code.
  2913.  
  2914.    This term is one of the oldest in the jargon and no one is sure of
  2915.    its etymology, but it is suggestive that there is a Cruft Hall at
  2916.    Harvard University which is part of the old physics building; it's
  2917.    said to have been the physics department's radar lab during WWII.
  2918.    To this day (early 1993) the windows appear to be full of random
  2919.    techno-junk.  MIT or Lincoln Labs people may well have coined the
  2920.    term as a knock on the competition.
  2921.  
  2922. :DDT: /D-D-T/ n. 1. Generic term for a program that assists in
  2923.    debugging other programs by showing individual machine instructions
  2924.    in a readable symbolic form and letting the user change them.  In
  2925.    this sense the term DDT is now archaic, having been widely
  2926.    displaced by `debugger' or names of individual programs like
  2927.    `adb', `sdb', `dbx', or `gdb'.  2. [ITS] Under
  2928.    MIT's fabled {{ITS}} operating system, DDT (running under the alias
  2929.    HACTRN) was also used as the {shell} or top level command
  2930.    language used to execute other programs.  3. Any one of several
  2931.    specific DDTs (sense 1) supported on early DEC hardware.  The DEC
  2932.    PDP-10 Reference Handbook (1969) contained a footnote on the first
  2933.    page of the documentation for DDT that illuminates the origin of
  2934.    the term:
  2935.  
  2936.      Historical footnote: DDT was developed at MIT for the PDP-1
  2937.      computer in 1961.  At that time DDT stood for "DEC Debugging
  2938.      Tape".  Since then, the idea of an on-line debugging program has
  2939.      propagated throughout the computer industry.  DDT programs are now
  2940.      available for all DEC computers.  Since media other than tape are
  2941.      now frequently used, the more descriptive name "Dynamic Debugging
  2942.      Technique" has been adopted, retaining the DDT abbreviation.
  2943.      Confusion between DDT-10 and another well known pesticide,
  2944.      dichloro-diphenyl-trichloroethane (C14-H9-Cl5) should be minimal
  2945.      since each attacks a different, and apparently mutually exclusive,
  2946.      class of bugs.
  2947.  
  2948.    Sadly, this quotation was removed from later editions of the
  2949.    handbook after the {suit}s took over and DEC became much more
  2950.    `businesslike'.
  2951.  
  2952.    The history above is known to many old-time hackers.  But there's
  2953.    more: Peter Samson, compiler of the original {TMRC} lexicon,
  2954.    reports that he named `DDT' after a similar tool on the TX-0
  2955.    computer, the direct ancestor of the PDP-1 built at MIT's Lincoln
  2956.    Lab in 1957.  The debugger on that ground-breaking machine (the
  2957.    first transistorized computer) rejoiced in the name FLIT
  2958.    (FLexowriter Interrogation Tape).
  2959.  
  2960. :dread high-bit disease: n. A condition endemic to PRIME (a.k.a.
  2961.    PR1ME) minicomputers that results in all the characters having
  2962.    their high (0x80) bit ON rather than OFF.  This of course makes
  2963.    transporting files to other systems much more difficult, not to
  2964.    mention talking to true 8-bit devices.  Folklore had it that PRIME
  2965.    adopted the reversed-8-bit convention in order to save 25 cents per
  2966.    serial line per machine; PRIME old-timers, on the other hand, claim
  2967.    they inherited the disease from Honeywell via customer NASA's
  2968.    compatibility requirements and struggled heroicly to cure it.
  2969.    Whoever was responsible, this probably qualifies as one of the
  2970.    most {cretinous} design tradeoffs ever made.  See {meta bit}.
  2971.    A few other machines have exhibited similar brain damage.
  2972.  
  2973. :FM: n. *Not* `Frequency Modulation' but rather an
  2974.    abbreviation for `Fucking Manual', the back-formation from
  2975.    {RTFM}. Used to refer to the manual itself in the {RTFM}.
  2976.    "Have you seen the Networking FM lately?"
  2977.  
  2978. :foo: /foo/ 1. interj. Term of disgust.  2. Used very generally
  2979.    as a sample name for absolutely anything, esp. programs and files
  2980.    (esp. scratch files).  3. First on the standard list of
  2981.    {metasyntactic variable}s used in syntax examples.  See also
  2982.    {bar}, {baz}, {qux}, {quux}, {corge}, {grault},
  2983.    {garply}, {waldo}, {fred}, {plugh}, {xyzzy},
  2984.    {thud}.
  2985.  
  2986.    The etymology of hackish `foo' is obscure.  When used in
  2987.    connection with `bar' it is generally traced to the WWII-era Army
  2988.    slang acronym FUBAR (`Fucked Up Beyond All Recognition'), later
  2989.    bowdlerized to {foobar}.  (See also {FUBAR}).
  2990.  
  2991.    However, the use of the word `foo' itself has more complicated
  2992.    antecedents, including a long history in comic strips and cartoons.
  2993.    The old "Smokey Stover" comic strips by Bill Holman often
  2994.    included the word `FOO', in particular on license plates of cars;
  2995.    allegedly, `FOO' and `BAR' also occurred in Walt Kelly's
  2996.    "Pogo" strips.  In the 1938 cartoon "The Daffy Doc", a very
  2997.    early version of Daffy Duck holds up a sign saying "SILENCE IS
  2998.    FOO!"; oddly, this seems to refer to some approving or positive
  2999.    affirmative use of foo.  It has been suggested that this might be
  3000.    related to the Chinese word `fu' (sometimes transliterated
  3001.    `foo'), which can mean "happiness" when spoken with the proper
  3002.    tone (the lion-dog guardians flanking the steps of many Chinese
  3003.    restaurants are properly called "fu dogs").
  3004.  
  3005.    Earlier versions of this entry suggested the possibility that
  3006.    hacker usage actually sprang from `FOO, Lampoons and Parody',
  3007.    the title of a comic book first issued in September 1958, a joint
  3008.    project of Charles and Robert Crumb.  Though Robert Crumb (then in
  3009.    his mid-teens) later became one of the most important and
  3010.    influential artists in underground comics, this venture was hardly
  3011.    a success; indeed, the brothers later burned most of the existing
  3012.    copies in disgust.  The title FOO was featured in large letters on
  3013.    the front cover.  However, very few copies of this comic actually
  3014.    circulated, and students of Crumb's `oeuvre' have established
  3015.    that this title was a reference to the earlier Smokey Stover
  3016.    comics.
  3017.  
  3018.    An old-time member reports that in the 1959 `Dictionary of the
  3019.    TMRC Language', compiled at {TMRC} there was an entry that went
  3020.    something like this:
  3021.  
  3022.      FOO: The first syllable of the sacred chant phrase "FOO MANE PADME
  3023.      HUM."  Our first obligation is to keep the foo counters turning.
  3024.  
  3025.    For more about the legendary foo counters, see {TMRC}.  Almost
  3026.    the entire staff of what became the MIT AI LAB was involved with
  3027.    TMRC, and probably picked the word up there.
  3028.  
  3029.    Very probably, hackish `foo' had no single origin and derives
  3030.    through all these channels from Yiddish `feh' and/or English
  3031.    `fooey'.
  3032.  
  3033. :fortune cookie: [WAITS, via UNIX] n. A random quote, item of
  3034.    trivia, joke, or maxim printed to the user's tty at login time or
  3035.    (less commonly) at logout time.  Items from this lexicon have often
  3036.    been used as fortune cookies.  See {cookie file}.
  3037.  
  3038. :frob: /frob/ 1. n. [MIT] The {TMRC} definition was "FROB = a
  3039.    protruding arm or trunnion"; by metaphoric extension, a `frob'
  3040.    is any random small thing; an object that you can comfortably hold
  3041.    in one hand; something you can frob (sense 2).  See {frobnitz}.
  3042.    2. vt.  Abbreviated form of {frobnicate}.  3. [from the {MUD}
  3043.    world] A command on some MUDs that changes a player's experience
  3044.    level (this can be used to make wizards); also, to request
  3045.    {wizard} privileges on the `professional courtesy' grounds
  3046.    that one is a wizard elsewhere.  The command is actually
  3047.    `frobnicate' but is universally abbreviated to the shorter
  3048.    form.
  3049.  
  3050. :frobnitz: /frob'nits/, plural `frobnitzem' /frob'nit-zm/ or
  3051.    `frob-ni' /frob'-ni:/ [TMRC] n. An unspecified physical object, a
  3052.    widget.  Also refers to electronic black boxes.  This rare form is
  3053.    usually abbreviated to `frotz', or more commonly to {frob}.
  3054.    Also used are `frobnule' (/frob'n[y]ool/) and `frobule'
  3055.    (/frob'yool/).  Starting perhaps in 1979, `frobozz'
  3056.    /fr*-boz'/ (plural: `frobbotzim' /fr*-bot'zm/) has also
  3057.    become very popular, largely through its exposure as a name via
  3058.    {Zork}.  These variants can also be applied to nonphysical
  3059.    objects, such as data structures.
  3060.  
  3061.    Pete Samson, compiler of the original {TMRC} lexicon, adds,
  3062.    "Under the TMRC [railroad] layout were many storage boxes, managed
  3063.    (in 1958) by David R. Sawyer.  Several had fanciful designations
  3064.    written on them, such as `Frobnitz Coil Oil'.  Perhaps DRS intended
  3065.    Frobnitz to be a proper name, but the name was quickly taken for
  3066.    the thing".  This was almost certainly the origin of the
  3067.    term.
  3068.  
  3069. :gumby: /guhm'bee/ [from a class of Monty Python characters,
  3070.    poss. with some influence from the 1960s claymation character] n.
  3071.    An act of minor but conspicuous stupidity, often in `gumby
  3072.    maneuver' or `pull a gumby'.
  3073.  
  3074. :hairy: adj. 1. Annoyingly complicated.  "{DWIM} is incredibly
  3075.    hairy."  2. Incomprehensible.  "{DWIM} is incredibly hairy."
  3076.    3. Of people, high-powered, authoritative, rare, expert, and/or
  3077.    incomprehensible.  Hard to explain except in context: "He knows
  3078.    this hairy lawyer who says there's nothing to worry about."  See
  3079.    also {hirsute}.
  3080.  
  3081.    A well-known result in topology called the Brouwer Fixed-Point
  3082.    Theorem states that any continuous transformation of a surface into
  3083.    itself has at least one fixed point.  Mathematically literate
  3084.    hackers tend to associate the term `hairy' with the informal
  3085.    version of this theorem; "You can't comb a hairy ball smooth."
  3086.  
  3087.    The adjective `long-haired' is well-attested to have been in
  3088.    slang use among scientists and engineers during the early 1950s; it
  3089.    was equivalent to modern `hairy' senses 1 and 2, and was very
  3090.    likely ancestral to the hackish use.  In fact the noun
  3091.    `long-hair' was at the time used to describe a person satisfying
  3092.    sense 3.  Both senses probably passed out of use when long hair
  3093.    was adopted as a signature trait by the 1960s counterculture,
  3094.    leaving hackish `hairy' as a sort of stunted mutant relic.
  3095.  
  3096. :kluge: /klooj/ [from the German `klug', clever] 1. n.  A Rube
  3097.    Goldberg (or Heath Robinson) device, whether in hardware or
  3098.    software.  (A long-ago `Datamation' article by Jackson Granholme
  3099.    said: "An ill-assorted collection of poorly matching parts,
  3100.    forming a distressing whole.")  2. n. A clever programming trick
  3101.    intended to solve a particular nasty case in an expedient, if not
  3102.    clear, manner.  Often used to repair bugs.  Often involves
  3103.    {ad-hockery} and verges on being a {crock}.  In fact, the
  3104.    TMRC Dictionary defined `kludge' as "a crock that works".  3. n.
  3105.    Something that works for the wrong reason.  4. vt. To insert a
  3106.    kluge into a program.  "I've kluged this routine to get around
  3107.    that weird bug, but there's probably a better way."  5. [WPI] n. A
  3108.    feature that is implemented in a {rude} manner.
  3109.  
  3110.    Nowadays this term is often encountered in the variant spelling
  3111.    `kludge'.  Reports from {old fart}s are consistent that
  3112.    `kluge' was the original spelling, reported around computers as
  3113.    far back as the mid-1950s and, at that time, used exclusively of
  3114.    *hardware* kluges.  In 1947, the `New York Folklore
  3115.    Quarterly' reported a classic shaggy-dog story `Murgatroyd the
  3116.    Kluge Maker' then current in the Armed Forces, in which a `kluge'
  3117.    was a complex and puzzling artifact with a trivial function.  Other
  3118.    sources report that `kluge' was common Navy slang in the WWII era
  3119.    for any piece of electronics that worked well on shore but
  3120.    consistently failed at sea.
  3121.  
  3122.    However, there is reason to believe this slang use may be a decade
  3123.    older.  Several respondents have connected it to the brand name of
  3124.    a device called a "Kluge paper feeder" dating back at least to
  3125.    1935, an adjunct to mechanical printing presses.  The Kluge feeder
  3126.    was designed before small, cheap electric motors and control
  3127.    electronics; it relied on a fiendishly complex assortment of cams,
  3128.    belts, and linkages to both power and synchronize all its
  3129.    operations from one motive driveshaft.  It was accordingly
  3130.    tempermental, subject to frequent breakdowns, and devilishly
  3131.    difficult to repair --- but oh, so clever!  One traditional
  3132.    folk etymology of `kluge' makes it the name of a design engineer;
  3133.    in fact, `Kluge' is a surname in German, and the designer of the
  3134.    Kluge feeder may well have been the man behind this myth.
  3135.  
  3136.    {TMRC} and the MIT hacker culture of the early '60s seems to
  3137.    have developed in a milieu that remembered and still used some WII
  3138.    military slang (see also {foobar}).  It seems likely that
  3139.    `kluge' came to MIT via alumni of the many military electronics
  3140.    projects that had been located in Cambridge (many in MIT's
  3141.    venerable Building 20, in which {TMRC} is also located) during
  3142.    the war.
  3143.  
  3144.    The variant `kludge' was apparently popularized by the
  3145.    {Datamation} article mentioned above; it was titled "How
  3146.    to Design a Kludge" (February 1962, pp. 30, 31).  Some people
  3147.    who encountered the word first in print or on-line jumped to the
  3148.    reasonable but incorrect conclusion that the word should be
  3149.    pronounced /kluhj/ (rhyming with `sludge').  The result of this
  3150.    tangled history is a mess; in 1993, many (perhaps even most)
  3151.    hackers pronounce the word correctly as /klooj/ but spell it
  3152.    incorrectly as `kludge' (compare the pronunciation drift of
  3153.    {mung}).  Some observers consider this appropriate in view of
  3154.    its meaning.
  3155.  
  3156. :meta bit: n. The top bit of an 8-bit character, which is on in
  3157.    character values 128--255.  Also called {high bit}, {alt bit},
  3158.    or {hobbit}.  Some terminals and consoles (see {space-cadet
  3159.    keyboard}) have a META shift key.  Others (including,
  3160.    *mirabile dictu*, keyboards on IBM PC-class machines) have an
  3161.    ALT key.  See also {bucky bits}.
  3162.  
  3163.    Historical note: although in modern usage shaped by a universe of
  3164.    8-bit bytes the meta bit is invariably hex 80 (octal 0200), things
  3165.    were different on earlier machines with 36-bit words and 9-bit
  3166.    bytes.  The MIT and Stanford keyboards (see {space-cadet
  3167.    keyboard}) generated hex 100 (octal 400) from their meta keys.
  3168.  
  3169. :microtape: /mi:'kroh-tayp/ n. Occasionally used to mean a
  3170.    DECtape, as opposed to a {macrotape}.  A DECtape is a small
  3171.    reel, about 4 inches in diameter, of magnetic tape about an inch
  3172.    wide.  Unlike drivers for today's {macrotape}s, microtape
  3173.    drivers allow random access to the data, and therefore could be
  3174.    used to support file systems and even for swapping (this was
  3175.    generally done purely for {hack value}, as they were far too
  3176.    slow for practical use).  In their heyday they were used in pretty
  3177.    much the same ways one would now use a floppy disk: as a small,
  3178.    portable way to save and transport files and programs.  Apparently
  3179.    the term `microtape' was actually the official term used within
  3180.    DEC for these tapes until someone coined the word `DECtape',
  3181.    which, of course, sounded sexier to the {marketroid}s; another
  3182.    version of the story holds that someone discovered a conflict with
  3183.    another company's `microtape' trademark.
  3184.  
  3185. :mode: n. A general state, usually used with an adjective
  3186.    describing the state.  Use of the word `mode' rather than
  3187.    `state' implies that the state is extended over time, and
  3188.    probably also that some activity characteristic of that state is
  3189.    being carried out. "No time to hack; I'm in thesis mode."  In its
  3190.    jargon sense, `mode' is most often attributed to people, though
  3191.    it is sometimes applied to programs and inanimate objects. In
  3192.    particular, see {hack mode}, {day mode}, {night mode},
  3193.    {demo mode}, {fireworks mode}, and {yoyo mode}; also
  3194.    {talk mode}.
  3195.  
  3196.    One also often hears the verbs `enable' and `disable' used in
  3197.    connection with jargon modes.  Thus, for example, a sillier way of
  3198.    saying "I'm going to crash" is "I'm going to enable crash mode
  3199.    now".  One might also hear a request to "disable flame mode,
  3200.    please".
  3201.  
  3202.    In a usage much closer to techspeak, a mode is a special state
  3203.    that certain user interfaces must pass into in order to perform
  3204.    certain functions.  For example, in order to insert characters into a
  3205.    document in the UNIX editor `vi', one must type the "i" key,
  3206.    which invokes the "Insert" command.  The effect of this command
  3207.    is to put vi into "insert mode", in which typing the "i" key
  3208.    has a quite different effect (to wit, it inserts an "i" into the
  3209.    document).  One must then hit another special key, "ESC", in
  3210.    order to leave "insert mode".  Nowadays, moded interfaces are
  3211.    generally considered {losing} but survive in quite a few
  3212.    widely used tools built in less enlightened times.
  3213.  
  3214. :mudhead: n. Commonly used to refer to a {MUD} player who eats,
  3215.    sleeps, and breathes MUD.  Mudheads have been known to fail their
  3216.    degrees, drop out, etc., with the consolation, however, that they
  3217.    made wizard level.  When encountered in person, on a MUD, or in a
  3218.    chat system, all a mudhead will talk about is three topics: the
  3219.    tactic, character, or wizard that is supposedly always unfairly
  3220.    stopping him/her from becoming a wizard or beating a favorite MUD;
  3221.    why the specific game he/she has experience with is so much better
  3222.    than any other, and the MUD he or she is writing or going to write
  3223.    because his/her design ideas are so much better than in any
  3224.    existing MUD.  See also {wannabee}.
  3225.  
  3226. :mumble: interj. 1. Said when the correct response is too
  3227.    complicated to enunciate, or the speaker has not thought it out.
  3228.    Often prefaces a longer answer, or indicates a general reluctance
  3229.    to get into a long discussion.  "Don't you think that we could
  3230.    improve LISP performance by using a hybrid reference-count
  3231.    transaction garbage collector, if the cache is big enough and there
  3232.    are some extra cache bits for the microcode to use?"  "Well,
  3233.    mumble ... I'll have to think about it."  2. Sometimes used as
  3234.    an expression of disagreement.  "I think we should buy a
  3235.    {VAX}."  "Mumble!"  Common variant: `mumble frotz' (see
  3236.    {frotz}; interestingly, one does not say `mumble frobnitz'
  3237.    even though `frotz' is short for `frobnitz').  3. Yet another
  3238.    {metasyntactic variable}, like {foo}.  4. When used as a question
  3239.    ("Mumble?") means "I didn't understand you".  5. Sometimes used
  3240.    in `public' contexts on-line as a placefiller for things one is
  3241.    barred from giving details about.  For example, a poster with
  3242.    pre-released hardware in his machine might say "Yup, my machine
  3243.    now has an extra 16M of memory, thanks to the card I'm testing for
  3244.    Mumbleco." 6. A conversational wild card used to designate
  3245.    something one doesn't want to bother spelling out, but which can be
  3246.    {glark}ed from context.  Compare {blurgle}.  7. [XEROX PARC]
  3247.    A colloquialism used to suggest that further discussion would be
  3248.    fruitless.
  3249.  
  3250. :mumble: interj. 1. Said when the correct response is too
  3251.    complicated to enunciate, or the speaker has not thought it out.
  3252.    Often prefaces a longer answer, or indicates a general reluctance
  3253.    to get into a long discussion.  "Don't you think that we could
  3254.    improve LISP performance by using a hybrid reference-count
  3255.    transaction garbage collector, if the cache is big enough and there
  3256.    are some extra cache bits for the microcode to use?"  "Well,
  3257.    mumble ... I'll have to think about it."  2. Sometimes used as
  3258.    an expression of disagreement.  "I think we should buy a
  3259.    {VAX}."  "Mumble!"  Common variant: `mumble frotz' (see
  3260.    {frotz}; interestingly, one does not say `mumble frobnitz'
  3261.    even though `frotz' is short for `frobnitz').  3. Yet another
  3262.    {metasyntactic variable}, like {foo}.  4. When used as a question
  3263.    ("Mumble?") means "I didn't understand you".  5. Sometimes used
  3264.    in `public' contexts on-line as a placefiller for things one is
  3265.    barred from giving details about.  For example, a poster with
  3266.    pre-released hardware in his machine might say "Yup, my machine
  3267.    now has an extra 16M of memory, thanks to the card I'm testing for
  3268.    Mumbleco." 6. A conversational wild card used to designate
  3269.    something one doesn't want to bother spelling out, but which can be
  3270.    {glark}ed from context.  Compare {blurgle}.  7. [XEROX PARC]
  3271.    A colloquialism used to suggest that further discussion would be
  3272.    fruitless.
  3273.  
  3274. :mung: /muhng/ [in 1960 at MIT, `Mash Until No Good'; sometime
  3275.    after that the derivation from the {{recursive acronym}} `Mung
  3276.    Until No Good' became standard] vt.  1. To make changes to a file,
  3277.    esp. large-scale and irrevocable changes.  See {BLT}.  2. To
  3278.    destroy, usually accidentally, occasionally maliciously.  The
  3279.    system only mungs things maliciously; this is a consequence of
  3280.    {Finagle's Law}.  See {scribble}, {mangle}, {trash},
  3281.    {nuke}.  Reports from {USENET} suggest that the pronunciation
  3282.    /muhnj/ is now usual in speech, but the spelling `mung' is
  3283.    still common in program comments (compare the widespread confusion
  3284.    over the proper spelling of {kluge}).  3. The kind of beans of
  3285.    which the sprouts are used in Chinese food.  (That's their real
  3286.    name!  Mung beans!  Really!)
  3287.  
  3288.    Like many early hacker terms, this one seems to have originated at
  3289.    {TMRC}; it was already in use there in 1958.  Peter Samson
  3290.    (compiler of the original TMRC lexicon) thinks it may originally
  3291.    have been onomatopoeic for the sound of a relay spring (contact)
  3292.    being twanged.
  3293.  
  3294. :NP-: /N-P/ pref. Extremely.  Used to modify adjectives
  3295.    describing a level or quality of difficulty; the connotation is
  3296.    often `more so than it should be' (NP-complete problems all seem
  3297.    to be very hard, but so far no one has found a good a priori
  3298.    reason that they should be.)  "Coding a BitBlt implementation to
  3299.    perform correctly in every case is NP-annoying."  This is
  3300.    generalized from the computer-science terms `NP-hard' and
  3301.    `NP-complete'.  NP is the set of Nondeterministic-Polynomial
  3302.    algorithms, those that can be completed by a nondeterministic
  3303.    Turing machine in an amount of time that is a polynomial function
  3304.    of the size of the input; a solution for one NP-complete problem
  3305.    would solve all the others.  Note, however, that the NP- prefix is,
  3306.    from a complexity theorist's point of view, the wrong part of
  3307.    `NP-complete' to connote extreme difficulty; it is the completeness,
  3308.    not the NP-ness, that puts any problem it describes in the
  3309.    `hard' category.
  3310.  
  3311. :quantifiers:: In techspeak and jargon, the standard metric
  3312.    prefixes used in the SI (Syst`eme International) conventions for
  3313.    scientific measurement have dual uses.  With units of time or
  3314.    things that come in powers of 10, such as money, they retain their
  3315.    usual meanings of multiplication by powers of 1000 = 10^3.
  3316.    But when used with bytes or other things that naturally come in
  3317.    powers of 2, they usually denote multiplication by powers of
  3318.    1024 = 2^(10).
  3319.  
  3320.    Here are the SI magnifying prefixes, along with the corresponding
  3321.    binary interpretations in common use:
  3322.  
  3323.      prefix  decimal  binary
  3324.      kilo-   1000^1   1024^1 = 2^10 = 1,024 
  3325.      mega-   1000^2   1024^2 = 2^20 = 1,048,576 
  3326.      giga-   1000^3   1024^3 = 2^30 = 1,073,741,824 
  3327.      tera-   1000^4   1024^4 = 2^40 = 1,099,511,627,776 
  3328.      peta-   1000^5   1024^5 = 2^50 = 1,125,899,906,842,624 
  3329.      exa-    1000^6   1024^6 = 2^60 = 1,152,921,504,606,846,976 
  3330.      zetta-  1000^7   1024^7 = 2^70 = 1,180,591,620,717,411,303,424 
  3331.      yotta-  1000^8   1024^8 = 2^80 = 1,208,925,819,614,629,174,706,176 
  3332.  
  3333.    Here are the SI fractional prefixes:
  3334.  
  3335.      *prefix  decimal     jargon usage*
  3336.      milli-  1000^-1     (seldom used in jargon)
  3337.      micro-  1000^-2     small or human-scale (see {micro-})
  3338.      nano-   1000^-3     even smaller (see {nano-})
  3339.      pico-   1000^-4     even smaller yet (see {pico-})
  3340.      femto-  1000^-5     (not used in jargon---yet)
  3341.      atto-   1000^-6     (not used in jargon---yet)
  3342.      zepto-  1000^-7     (not used in jargon---yet)
  3343.      yocto-  1000^-8     (not used in jargon---yet)
  3344.  
  3345.    The prefixes zetta-, yotta-, zepto-, and yocto- have been included
  3346.    in these tables purely for completeness and giggle value; they were
  3347.    adopted in 1990 by the `19th Conference Generale des Poids et
  3348.    Mesures'.  The binary peta- and exa- loadings, though well
  3349.    established, are not in jargon use either --- yet.  The prefix
  3350.    milli-, denoting multiplication by 1000^(-1), has always
  3351.    been rare in jargon (there is, however, a standard joke about the
  3352.    `millihelen' --- notionally, the amount of beauty required to
  3353.    launch one ship).  See the entries on {micro-}, {pico-}, and
  3354.    {nano-} for more information on connotative jargon use of these
  3355.    terms.  `Femto' and `atto' (which, interestingly, derive not
  3356.    from Greek but from Danish) have not yet acquired jargon loadings,
  3357.    though it is easy to predict what those will be once computing
  3358.    technology enters the required realms of magnitude (however, see
  3359.    {attoparsec}).
  3360.  
  3361.    There are, of course, some standard unit prefixes for powers of
  3362.    10.  In the following table, the `prefix' column is the
  3363.    international standard suffix for the appropriate power of ten; the
  3364.    `binary' column lists jargon abbreviations and words for the
  3365.    corresponding power of 2.  The B-suffixed forms are commonly used
  3366.    for byte quantities; the words `meg' and `gig' are nouns that may
  3367.    (but do not always) pluralize with `s'.
  3368.  
  3369.      prefix   decimal   binary       pronunciation
  3370.      kilo-       k      K, KB,       /kay/
  3371.      mega-       M      M, MB, meg   /meg/
  3372.      giga-       G      G, GB, gig   /gig/,/jig/
  3373.  
  3374.    Confusingly, hackers often use K or M as though they were suffix or
  3375.    numeric multipliers rather than a prefix; thus "2K dollars", "2M
  3376.    of disk space".  This is also true (though less commonly) of G.
  3377.  
  3378.    Note that the formal SI metric prefix for 1000 is `k'; some use
  3379.    this strictly, reserving `K' for multiplication by 1024 (KB is
  3380.    `kilobytes').
  3381.  
  3382.    K, M, and G used alone refer to quantities of bytes; thus, 64G is
  3383.    64 gigabytes and `a K' is a kilobyte (compare mainstream use of
  3384.    `a G' as short for `a grand', that is, $1000).  Whether one
  3385.    pronounces `gig' with hard or soft `g' depends on what one thinks
  3386.    the proper pronunciation of `giga-' is.
  3387.  
  3388.    Confusing 1000 and 1024 (or other powers of 2 and 10 close in
  3389.    magnitude) --- for example, describing a memory in units of
  3390.    500K or 524K instead of 512K --- is a sure sign of the
  3391.    {marketroid}.
  3392.  
  3393.    One example of this: it is common to refer to the capacity of the
  3394.    3.5" {microfloppies} now ubiquitous in the PC world as `1.44 MB'
  3395.    In fact, this is a completely {bogus} number.  The correct size
  3396.    is 1440 KB, that is, 1440 * 1024 = 1474560 bytes.  So the `mega'
  3397.    in `1.44 MB' is compounded of two `kilos', one of which is 1024
  3398.    and the other of which is 1000.  The correct number of megabytes would
  3399.    of course be 1440 / 1024 = 1.40625.  Alas, this fine point is probably
  3400.    lost on the world forever.
  3401.  
  3402.    [1993 update: hacker Morgan Burke has proposed, to general
  3403.    approval on USENET, the following additional prefixes:
  3404.  
  3405. groucho
  3406.      10^-30
  3407. harpo
  3408.      10^-27
  3409. harpi
  3410.      10^27
  3411. grouchi
  3412.      10^30
  3413.  
  3414.    We observe that this would leave the prefixes zeppo-, gummo-, and
  3415.    chico- available for future expansion.  Sadly, there is little
  3416.    immediate prospect that Mr. Burke's eminently sensible proposal
  3417.    will be ratified.]
  3418.  
  3419. :rococo: adj. {Baroque} in the extreme.  Used to imply that a
  3420.    program has become so encrusted with the software equivalent of
  3421.    gold leaf and curlicues that they have completely swamped the
  3422.    underlying design.  Called after the later and more extreme forms
  3423.    of Baroque architecture and decoration prevalent during the
  3424.    mid-1700s in Europe.  Alan Perlis said: "Every program eventually
  3425.    becomes rococo, and then rubble."  Compare {critical
  3426.    mass}.
  3427.  
  3428. :RTFM: /R-T-F-M/ [UNIX] imp. Acronym for `Read The Fucking
  3429.    Manual'.  1. Used by {guru}s to brush off questions they
  3430.    consider trivial or annoying.  Compare {Don't do that, then!}
  3431.    2. Used when reporting a problem to indicate that you aren't just
  3432.    asking out of {randomness}.  "No, I can't figure out how to
  3433.    interface UNIX to my toaster, and yes, I have RTFM."  Unlike
  3434.    sense 1, this use is considered polite.  See also {FM},
  3435.    {RTFAQ}, {RTFB}, {RTFS}, {RTM}, all of which mutated
  3436.    from RTFM, and compare {UTSL}.
  3437.  
  3438. :rude: [WPI] adj. 1. (of a program) Badly written.  2. Functionally
  3439.    poor, e.g., a program that is very difficult to use because of
  3440.    gratuitously poor (random?) design decisions.  Oppose {cuspy}.
  3441.    3. Anything that manipulates a shared resource without regard for
  3442.    its other users in such a way as to cause a (non-fatal) problem is
  3443.    said to be `rude'.  Examples: programs that change tty modes
  3444.    without resetting them on exit, or windowing programs that keep
  3445.    forcing themselves to the top of the window stack.  Compare
  3446.    {all-elbows}.
  3447.  
  3448. :saga: [WPI] n. A cuspy but bogus raving story about N random
  3449.    broken people.
  3450.  
  3451.    Here is a classic example of the saga form, as told by Guy L.
  3452.    Steele:
  3453.  
  3454.      Jon L. White (login name JONL) and I (GLS) were office mates at MIT
  3455.      for many years.  One April, we both flew from Boston to California
  3456.      for a week on research business, to consult face-to-face with some
  3457.      people at Stanford, particularly our mutual friend Richard P.
  3458.      Gabriel (RPG; see {Gabriel}).
  3459.  
  3460.      RPG picked us up at the San Francisco airport and drove us back to
  3461.      Palo Alto (going {logical} south on route 101, parallel to {El
  3462.      Camino Bignum}).  Palo Alto is adjacent to Stanford University and
  3463.      about 40 miles south of San Francisco.  We ate at The Good Earth, a
  3464.      `health food' restaurant, very popular, the sort whose milkshakes
  3465.      all contain honey and protein powder.  JONL ordered such a shake
  3466.      --- the waitress claimed the flavor of the day was "lalaberry".  I
  3467.      still have no idea what that might be, but it became a running
  3468.      joke.  It was the color of raspberry, and JONL said it tasted
  3469.      rather bitter.  I ate a better tostada there than I have ever had
  3470.      in a Mexican restaurant.
  3471.  
  3472.      After this we went to the local Uncle Gaylord's Old Fashioned Ice
  3473.      Cream Parlor.  They make ice cream fresh daily, in a variety of
  3474.      intriguing flavors.  It's a chain, and they have a slogan: "If you
  3475.      don't live near an Uncle Gaylord's --- MOVE!"  Also, Uncle Gaylord
  3476.      (a real person) wages a constant battle to force big-name ice cream
  3477.      makers to print their ingredients on the package (like air and
  3478.      plastic and other non-natural garbage).  JONL and I had first
  3479.      discovered Uncle Gaylord's the previous August, when we had flown
  3480.      to a computer-science conference in Berkeley, California, the first
  3481.      time either of us had been on the West Coast.  When not in the
  3482.      conference sessions, we had spent our time wandering the length of
  3483.      Telegraph Avenue, which (like Harvard Square in Cambridge) was
  3484.      lined with picturesque street vendors and interesting little
  3485.      shops.  On that street we discovered Uncle Gaylord's Berkeley
  3486.      store.  The ice cream there was very good.  During that August
  3487.      visit JONL went absolutely bananas (so to speak) over one
  3488.      particular flavor, ginger honey.
  3489.  
  3490.      Therefore, after eating at The Good Earth --- indeed, after every
  3491.      lunch and dinner and before bed during our April visit --- a trip
  3492.      to Uncle Gaylord's (the one in Palo Alto) was mandatory.  We had
  3493.      arrived on a Wednesday, and by Thursday evening we had been there
  3494.      at least four times.  Each time, JONL would get ginger honey ice
  3495.      cream, and proclaim to all bystanders that "Ginger was the spice
  3496.      that drove the Europeans mad!  That's why they sought a route to
  3497.      the East!  They used it to preserve their otherwise off-taste
  3498.      meat."  After the third or fourth repetition RPG and I were getting
  3499.      a little tired of this spiel, and began to paraphrase him: "Wow!
  3500.      Ginger!  The spice that makes rotten meat taste good!"  "Say!  Why
  3501.      don't we find some dog that's been run over and sat in the sun for
  3502.      a week and put some *ginger* on it for dinner?!"  "Right!  With a
  3503.      lalaberry shake!"  And so on.  This failed to faze JONL; he took it
  3504.      in good humor, as long as we kept returning to Uncle Gaylord's.  He
  3505.      loves ginger honey ice cream.
  3506.  
  3507.      Now RPG and his then-wife KBT (Kathy Tracy) were putting us up
  3508.      (putting up with us?) in their home for our visit, so to thank them
  3509.      JONL and I took them out to a nice French restaurant of their
  3510.      choosing.  I unadventurously chose the filet mignon, and KBT had je
  3511.      ne sais quoi du jour, but RPG and JONL had lapin (rabbit).
  3512.      (Waitress: "Oui, we have fresh rabbit, fresh today."  RPG: "Well,
  3513.      JONL, I guess we won't need any *ginger*!")
  3514.  
  3515.      We finished the meal late, about 11 P.M., which is 2 A.M Boston
  3516.      time, so JONL and I were rather droopy.  But it wasn't yet
  3517.      midnight.  Off to Uncle Gaylord's!
  3518.  
  3519.      Now the French restaurant was in Redwood City, north of Palo Alto.
  3520.      In leaving Redwood City, we somehow got onto route 101 going north
  3521.      instead of south.  JONL and I wouldn't have known the difference
  3522.      had RPG not mentioned it.  We still knew very little of the local
  3523.      geography.  I did figure out, however, that we were headed in the
  3524.      direction of Berkeley, and half-jokingly suggested that we continue
  3525.      north and go to Uncle Gaylord's in Berkeley.
  3526.  
  3527.      RPG said "Fine!" and we drove on for a while and talked.  I was
  3528.      drowsy, and JONL actually dropped off to sleep for 5 minutes.  When
  3529.      he awoke, RPG said, "Gee, JONL, you must have slept all the way
  3530.      over the bridge!", referring to the one spanning San Francisco
  3531.      Bay.  Just then we came to a sign that said "University Avenue".  I
  3532.      mumbled something about working our way over to Telegraph Avenue;
  3533.      RPG said "Right!" and maneuvered some more.  Eventually we pulled
  3534.      up in front of an Uncle Gaylord's.
  3535.  
  3536.      Now, I hadn't really been paying attention because I was so sleepy,
  3537.      and I didn't really understand what was happening until RPG let me
  3538.      in on it a few moments later, but I was just alert enough to notice
  3539.      that we had somehow come to the Palo Alto Uncle Gaylord's after
  3540.      all.
  3541.  
  3542.      JONL noticed the resemblance to the Palo Alto store, but hadn't
  3543.      caught on.  (The place is lit with red and yellow lights at night,
  3544.      and looks much different from the way it does in daylight.)  He
  3545.      said, "This isn't the Uncle Gaylord's I went to in Berkeley!  It
  3546.      looked like a barn!  But this place looks *just like* the one back
  3547.      in Palo Alto!"
  3548.  
  3549.      RPG deadpanned, "Well, this is the one *I* always come to when I'm
  3550.      in Berkeley.  They've got two in San Francisco, too.  Remember,
  3551.      they're a chain."
  3552.  
  3553.      JONL accepted this bit of wisdom.  And he was not totally ignorant
  3554.      --- he knew perfectly well that University Avenue was in Berkeley,
  3555.      not far from Telegraph Avenue.  What he didn't know was that there
  3556.      is a completely different University Avenue in Palo Alto.
  3557.  
  3558.      JONL went up to the counter and asked for ginger honey.  The guy at
  3559.      the counter asked whether JONL would like to taste it first,
  3560.      evidently their standard procedure with that flavor, as not too
  3561.      many people like it.
  3562.  
  3563.      JONL said, "I'm sure I like it.  Just give me a cone."  The guy
  3564.      behind the counter insisted that JONL try just a taste first.
  3565.      "Some people think it tastes like soap."  JONL insisted, "Look, I
  3566.      *love* ginger.  I eat Chinese food.  I eat raw ginger roots.  I
  3567.      already went through this hassle with the guy back in Palo Alto.  I
  3568.      *know* I like that flavor!"
  3569.  
  3570.      At the words "back in Palo Alto" the guy behind the counter got a
  3571.      very strange look on his face, but said nothing.  KBT caught his
  3572.      eye and winked.  Through my stupor I still hadn't quite grasped
  3573.      what was going on, and thought RPG was rolling on the floor
  3574.      laughing and clutching his stomach just because JONL had launched
  3575.      into his spiel ("makes rotten meat a dish for princes") for the
  3576.      forty-third time.  At this point, RPG clued me in fully.
  3577.  
  3578.      RPG, KBT, and I retreated to a table, trying to stifle our
  3579.      chuckles.  JONL remained at the counter, talking about ice cream
  3580.      with the guy b.t.c., comparing Uncle Gaylord's to other ice cream
  3581.      shops and generally having a good old time.
  3582.  
  3583.      At length the g.b.t.c. said, "How's the ginger honey?"  JONL said,
  3584.      "Fine!  I wonder what exactly is in it?"  Now Uncle Gaylord
  3585.      publishes all his recipes and even teaches classes on how to make
  3586.      his ice cream at home.  So the g.b.t.c. got out the recipe, and he
  3587.      and JONL pored over it for a while.  But the g.b.t.c. could contain
  3588.      his curiosity no longer, and asked again, "You really like that
  3589.      stuff, huh?"  JONL said, "Yeah, I've been eating it constantly back
  3590.      in Palo Alto for the past two days.  In fact, I think this batch is
  3591.      about as good as the cones I got back in Palo Alto!"
  3592.  
  3593.      G.b.t.c. looked him straight in the eye and said, "You're *in* Palo
  3594.      Alto!"
  3595.  
  3596.      JONL turned slowly around, and saw the three of us collapse in a
  3597.      fit of giggles.  He clapped a hand to his forehead and exclaimed,
  3598.      "I've been hacked!"
  3599.  
  3600.    [My spies on the West Coast inform me that there is a close relative
  3601.    of the raspberry found out there called an `ollalieberry' --- ESR]
  3602.  
  3603.    [Ironic footnote: it appears that the {meme} about ginger vs.
  3604.    rotting meat may be an urban legend.  It's not borne out by an
  3605.    examination of medieval recipes or period purchase records for
  3606.    spices, and appears full-blown in the works of Samuel Pegge, a
  3607.    gourmand and notorious flake case who originated numerous food
  3608.    myths. --- ESR]
  3609.  
  3610. :security through obscurity: alt. `security by obscurity' n. A
  3611.    term applied by hackers to most OS vendors' favorite way of coping
  3612.    with security holes --- namely, ignoring them and not documenting
  3613.    them and trusting that nobody will find out about them and that
  3614.    people who do find out about them won't exploit them.  This
  3615.    "strategy" never works for long and occasionally sets the world
  3616.    up for debacles like the {RTM} worm of 1988 (see {Great Worm,
  3617.    the}), but once the brief moments of panic created by such events
  3618.    subside most vendors are all too willing to turn over and go back
  3619.    to sleep.  After all, actually fixing the bugs would siphon off the
  3620.    resources needed to implement the next user-interface frill on
  3621.    marketing's wish list --- and besides, if they started fixing
  3622.    security bugs customers might begin to *expect* it and imagine
  3623.    that their warranties of merchantability gave them some sort of
  3624.    *right* to a system with fewer holes in it than a shotgunned
  3625.    Swiss cheese, and *then* where would we be?
  3626.  
  3627.    Historical note: There are conflicting stories about the origin of
  3628.    this term.  It has been claimed that it was first used in the
  3629.    USENET newsgroup in comp.sys.apollo during a campaign to get
  3630.    HP/Apollo to fix security problems in its UNIX-{clone}
  3631.    Aegis/DomainOS (they didn't change a thing).  {ITS} fans, on the
  3632.    other hand, say it was coined years earlier in opposition to the
  3633.    incredibly paranoid {Multics} people down the hall, for whom
  3634.    security was everything.  In the ITS culture it referred to (1) the
  3635.    fact that that by the time a tourist figured out how to make
  3636.    trouble he'd generally gotten over the urge to make it, because he
  3637.    felt part of the community; and (2) (self-mockingly) the poor
  3638.    coverage of the documentation and obscurity of many commands.  One
  3639.    instance of *deliberate* security through obscurity is
  3640.    recorded; the command to allow patching the running ITS system
  3641.    ({altmode} altmode control-R) echoed as $$^D.  If you actually
  3642.    typed alt alt ^D, that set a flag that would prevent patching the
  3643.    system even if you later got it right.
  3644.  
  3645. :space-cadet keyboard: n. A now-legendary device used on MIT LISP
  3646.    machines, which inspired several still-current jargon terms and
  3647.    influenced the design of {EMACS}.  It was equipped with no
  3648.    fewer than *seven* shift keys: four keys for {bucky bits}
  3649.    (`control', `meta', `hyper', and `super') and three like
  3650.    regular shift keys, called `shift', `top', and `front'.  Many
  3651.    keys had three symbols on them: a letter and a symbol on the top,
  3652.    and a Greek letter on the front.  For example, the `L' key had an
  3653.    `L' and a two-way arrow on the top, and the Greek letter lambda on
  3654.    the front.  By pressing this key with the right hand while playing
  3655.    an appropriate `chord' with the left hand on the shift keys, you
  3656.    can get the following results:
  3657.  
  3658.      L               
  3659.           lowercase l
  3660.  
  3661.      shift-L         
  3662.           uppercase L
  3663.  
  3664.      front-L         
  3665.           lowercase lambda
  3666.  
  3667.      front-shift-L   
  3668.           uppercase lambda
  3669.  
  3670.      top-L           
  3671.           two-way arrow
  3672.           (front and shift are ignored)
  3673.  
  3674.    And of course each of these might also be typed with any
  3675.    combination of the control, meta, hyper, and super keys.  On this
  3676.    keyboard, you could type over 8000 different characters!  This
  3677.    allowed the user to type very complicated mathematical text, and
  3678.    also to have thousands of single-character commands at his
  3679.    disposal.  Many hackers were actually willing to memorize the
  3680.    command meanings of that many characters if it reduced typing time
  3681.    (this attitude obviously shaped the interface of EMACS).  Other
  3682.    hackers, however, thought having that many bucky bits was overkill,
  3683.    and objected that such a keyboard can require three or four hands
  3684.    to operate.  See {bucky bits}, {cokebottle}, {double bucky},
  3685.    {meta bit}, {quadruple bucky}.
  3686.  
  3687.    Note: early versions of this entry incorrectly identified the
  3688.    space-cadet keyboard with the `Knight keyboard'.  Though both
  3689.    were designed by Tom Knight, the latter term was properly applied
  3690.    only to a keyboard used for ITS on the PDP-10 and modeled 
  3691.    on the Stanford keyboard (as described under {bucky bits}).  The
  3692.    true space-cadet keyboard evolved from the Knight keyboard.
  3693.  
  3694. :spool: [from early IBM `Simultaneous Peripheral Operation
  3695.    On-Line', but this acronym is widely thought to have been contrived
  3696.    for effect] vt. To send files to some device or program (a
  3697.    `spooler') that queues them up and does something useful with
  3698.    them later.  Without qualification, the spooler is the `print
  3699.    spooler' controlling output of jobs to a printer; but the term has
  3700.    been used in connection with other peripherals (especially plotters
  3701.    and graphics devices) and occasionally even for input devices.  See
  3702.    also {demon}.
  3703.  
  3704. :T: /T/ 1. [from LISP terminology for `true'] Yes.  Used in
  3705.    reply to a question (particularly one asked using the `-P'
  3706.    convention).  In LISP, the constant T means `true', among other
  3707.    things.  Some hackers use `T' and `NIL' instead of `Yes' and `No'
  3708.    almost reflexively.  This sometimes causes misunderstandings.  When
  3709.    a waiter or flight attendant asks whether a hacker wants coffee, he
  3710.    may well respond `T', meaning that he wants coffee; but of course
  3711.    he will be brought a cup of tea instead.  As it happens, most
  3712.    hackers (particularly those who frequent Chinese restaurants) like
  3713.    tea at least as well as coffee --- so it is not that big a problem.
  3714.    2. See {time T} (also {since time T equals minus infinity}).
  3715.    3. [techspeak] In transaction-processing circles, an abbreviation
  3716.    for the noun `transaction'.  4. [Purdue] Alternate spelling of
  3717.    {tee}. 5. A dialect of {LISP} developed at Yale.
  3718.  
  3719. :talk mode: n. A feature supported by UNIX, ITS, and some other
  3720.    OSes that allows two or more logged-in users to set up a real-time
  3721.    on-line conversation.  It combines the immediacy of talking with
  3722.    all the precision (and verbosity) that written language entails.
  3723.    It is difficult to communicate inflection, though conventions have
  3724.    arisen for some of these (see the section on writing style in the
  3725.    Prependices for details).
  3726.  
  3727.    Talk mode has a special set of jargon words, used to save typing,
  3728.    which are not used orally.  Some of these are identical to (and
  3729.    probably derived from) Morse-code jargon used by ham-radio amateurs
  3730.    since the 1920s.
  3731.  
  3732.      BCNU    
  3733.           be seeing you
  3734.      BTW
  3735.           by the way
  3736.      BYE?
  3737.           are you ready to unlink?  (this is the standard way to end a
  3738.           talk-mode conversation; the other person types `BYE' to
  3739.           confirm, or else continues the conversation)
  3740.      CUL     
  3741.           see you later
  3742.      ENQ?
  3743.           are you busy?  (expects `ACK' or `NAK' in return)
  3744.      FOO?
  3745.           are you there? (often used on unexpected links, meaning also
  3746.           "Sorry if I butted in ..." (linker) or "What's up?"  (linkee))
  3747.      FWIW
  3748.           for what it's worth
  3749.      FYI     
  3750.           for your information
  3751.      FYA     
  3752.           for your amusement
  3753.      GA
  3754.           go ahead (used when two people have tried to type
  3755.           simultaneously; this cedes the right to type to the other)
  3756.      GRMBL   
  3757.           grumble (expresses disquiet or disagreement)
  3758.      HELLOP
  3759.           hello? (an instance of the `-P' convention)
  3760.      JAM
  3761.           just a minute (equivalent to `SEC....')
  3762.      MIN     
  3763.           same as `JAM'
  3764.      NIL     
  3765.           no (see {NIL})
  3766.      O
  3767.           over to you
  3768.      OO      
  3769.           over and out
  3770.      /
  3771.           another form of "over to you" (from x/y as "x over y")
  3772.      \
  3773.           lambda (used in discussing LISPy things)
  3774.      OBTW  
  3775.           oh, by the way
  3776.      R U THERE?
  3777.           are you there?
  3778.      SEC     
  3779.           wait a second (sometimes written `SEC...')
  3780.      T
  3781.           yes (see the main entry for {T})
  3782.      TNX     
  3783.           thanks
  3784.      TNX 1.0E6
  3785.           thanks a million (humorous)
  3786.      TNXE6
  3787.           another form of "thanks a million"
  3788.      WRT     
  3789.           with regard to, or with respect to.
  3790.      WTF
  3791.           the universal interrogative particle; WTF knows what it means?
  3792.      WTH     
  3793.           what the hell?
  3794.      <double newline>
  3795.           When the typing party has finished, he/she types two newlines
  3796.           to signal that he/she is done; this leaves a blank line
  3797.           between `speeches' in the conversation, making it easier to
  3798.           reread the preceding text.
  3799.      <name>:
  3800.           When three or more terminals are linked, it is conventional
  3801.           for each typist to {prepend} his/her login name or handle and
  3802.           a colon (or a hyphen) to each line to indicate who is typing
  3803.           (some conferencing facilities do this automatically).  The
  3804.           login name is often shortened to a unique prefix (possibly a
  3805.           single letter) during a very long conversation.
  3806.      /\/\/\
  3807.           A giggle or chuckle.  On a MUD, this usually means `earthquake
  3808.           fault'.
  3809.  
  3810.    Most of the above sub-jargon is used at both Stanford and MIT.
  3811.    Several of these expressions are also common in {email}, esp.
  3812.    FYI, FYA, BTW, BCNU, WTF, and CUL.  A few other abbreviations have
  3813.    been reported from commercial networks, such as GEnie and
  3814.    CompuServe, where on-line `live' chat including more than two
  3815.    people is common and usually involves a more `social' context,
  3816.    notably the following:
  3817.  
  3818.      <g>
  3819.           grin
  3820.      <gr&d>
  3821.           grinning, running, and ducking
  3822.      BBL
  3823.           be back later
  3824.      BRB
  3825.           be right back
  3826.      HHOJ
  3827.           ha ha only joking
  3828.      HHOK
  3829.           ha ha only kidding
  3830.      HHOS
  3831.           {ha ha only serious}
  3832.      IMHO
  3833.           in my humble opinion (see {IMHO})
  3834.      LOL
  3835.           laughing out loud
  3836.      NHOH
  3837.           Never Heard of Him/Her (often used in {initgame})
  3838.      ROTF
  3839.           rolling on the floor
  3840.      ROTFL
  3841.           rolling on the floor laughing
  3842.      AFK
  3843.           away from keyboard
  3844.      b4
  3845.           before
  3846.      CU l8tr
  3847.           see you later
  3848.      MORF
  3849.           male or female?
  3850.      TTFN
  3851.           ta-ta for now
  3852.      TTYL
  3853.           talk to you later
  3854.      OIC
  3855.           oh, I see
  3856.      rehi
  3857.           hello again
  3858.  
  3859.    Most of these are not used at universities or in the UNIX world,
  3860.    though ROTF and TTFN have gained some currency there and IMHO is
  3861.    common; conversely, most of the people who know these are
  3862.    unfamiliar with FOO?, BCNU, HELLOP, {NIL}, and {T}.
  3863.  
  3864.    The {MUD} community uses a mixture of USENET/Internet emoticons,
  3865.    a few of the more natural of the old-style talk-mode abbrevs, and
  3866.    some of the `social' list above; specifically, MUD respondents
  3867.    report use of BBL, BRB, LOL, b4, BTW, WTF, TTFN, and WTH.  The use
  3868.    of `rehi' is also common; in fact, mudders are fond of re-
  3869.    compounds and will frequently `rehug' or `rebonk' (see
  3870.    {bonk/oif}) people.  The word `re' by itself is taken as
  3871.    `regreet'.  In general, though, MUDders express a preference for
  3872.    typing things out in full rather than using abbreviations; this may
  3873.    be due to the relative youth of the MUD cultures, which tend to
  3874.    include many touch typists and to assume high-speed links.  The
  3875.    following uses specific to MUDs are reported:
  3876.  
  3877.      CU l8er
  3878.           see you later (mutant of `CU l8tr')
  3879.      FOAD
  3880.           fuck off and die (use of this is generally OTT)
  3881.      OTT
  3882.           over the top (excessive, uncalled for)
  3883.      ppl
  3884.           abbrev for "people"
  3885.      THX
  3886.           thanks (mutant of `TNX'; clearly this comes in batches of 1138
  3887.           (the Lucasian K)).
  3888.      UOK?
  3889.           are you OK?
  3890.  
  3891.    Some {BIFF}isms (notably the variant spelling `d00d')
  3892.    appear to be passing into wider use among some subgroups of
  3893.    MUDders.
  3894.  
  3895.    One final note on talk mode style: neophytes, when in talk mode,
  3896.    often seem to think they must produce letter-perfect prose because
  3897.    they are typing rather than speaking.  This is not the best
  3898.    approach.  It can be very frustrating to wait while your partner
  3899.    pauses to think of a word, or repeatedly makes the same spelling
  3900.    error and backs up to fix it.  It is usually best just to leave
  3901.    typographical errors behind and plunge forward, unless severe
  3902.    confusion may result; in that case it is often fastest just to type
  3903.    "xxx" and start over from before the mistake.
  3904.  
  3905.    See also {hakspek}, {emoticon}, {bonk/oif}.
  3906.  
  3907. :tiger team: [U.S. military jargon] n. 1. Originally, a team whose
  3908.    purpose is to penetrate security, and thus test security measures.
  3909.    These people are paid professionals who do hacker-type tricks,
  3910.    e.g., leave cardboard signs saying "bomb" in critical defense
  3911.    installations, hand-lettered notes saying "Your codebooks have
  3912.    been stolen" (they usually haven't been) inside safes, etc.  After
  3913.    a successful penetration, some high-ranking security type shows up
  3914.    the next morning for a `security review' and finds the sign,
  3915.    note, etc., and all hell breaks loose.  Serious successes of tiger
  3916.    teams sometimes lead to early retirement for base commanders and
  3917.    security officers (see the {patch} entry for an example).
  3918.    2. Recently, and more generally, any official inspection team or
  3919.    special {firefighting} group called in to look at a problem.
  3920.  
  3921.    A subset of tiger teams are professional {cracker}s, testing the
  3922.    security of military computer installations by attempting remote
  3923.    attacks via networks or supposedly `secure' comm channels.  Some of
  3924.    their escapades, if declassified, would probably rank among the
  3925.    greatest hacks of all times.  The term has been adopted in
  3926.    commercial computer-security circles in this more specific sense.
  3927.  
  3928. :toolsmith: n. The software equivalent of a tool-and-die
  3929.    specialist; one who specializes in making the {tool}s with which
  3930.    other programmers create applications.  Many hackers consider this
  3931.    more fun than applications per se; to understand why, see
  3932.    {uninteresting}.  Jon Bentley, in the "Bumper-Sticker Computer
  3933.    Science" chapter of his book `More Programming Pearls',
  3934.    quotes Dick Sites from DEC as saying "I'd rather write programs to
  3935.    write programs than write programs".
  3936.  
  3937. :tree-killer: [Sun] n. 1. A printer.  2. A person who wastes paper.
  3938.    This should be interpreted in a broad sense; `wasting paper'
  3939.    includes the production of {spiffy} but {content-free}
  3940.    documents.  Thus, most {suit}s are tree-killers.  The negative
  3941.    loading of this term may reflect the epithet `tree-killer'
  3942.    applied by Treebeard the Ent to the Orcs in J.R.R. Tolkien's
  3943.    `Lord of the Rings' (see also {elvish}, {elder
  3944.    days}).
  3945.  
  3946. :vdiff: /vee'dif/ v.,n. Visual diff.  The operation of finding
  3947.    differences between two files by {eyeball search}.  The term
  3948.    `optical diff' has also been reported, and is sometimes more
  3949.    specifically used for the act of superimposing two nearly identical
  3950.    printouts on one another and holding them up to a light to spot
  3951.    differences.  Though this method is poor for detecting omissions in
  3952.    the `rear' file, it can also be used with printouts of graphics, a
  3953.    claim few if any diff programs can make.  See {diff}.
  3954.  
  3955. :weenie: n. 1. [on BBSes] Any of a species of luser resembling a
  3956.    less amusing version of {BIFF} that infests many {BBS}
  3957.    systems.  The typical weenie is a teenage boy with poor social
  3958.    skills travelling under a grandiose {handle} derived from
  3959.    fantasy or heavy-metal rock lyrics.  Among sysops, `the weenie
  3960.    problem' refers to the marginally literate and profanity-laden
  3961.    {flamage} weenies tend to spew all over a newly-discovered BBS.
  3962.    Compare {spod}, {computer geek}, {terminal junkie}.
  3963.    2. [Among hackers] When used with a qualifier (for example, as in
  3964.    {UNIX weenie}, VMS weenie, IBM weenie) this can be either an
  3965.    insult or a term of praise, depending on context, tone of voice,
  3966.    and whether or not it is applied by a person who considers him or
  3967.    herself to be the same sort of weenie.  Implies that the weenie has
  3968.    put a major investment of time, effort, and concentration into the
  3969.    area indicated; whether this is positive or negative depends on the
  3970.    hearer's judgment of how the speaker feels about that area.  See
  3971.    also {bigot}.  3. The semicolon character, `;' (ASCII
  3972.    0111011).
  3973.  
  3974. :WYSIWYG: /wiz'ee-wig/ adj. Describes a user interface under
  3975.    which "What You See Is What You Get", as opposed to one that uses
  3976.    more-or-less obscure commands that do not result in immediate
  3977.    visual feedback.  True WYSIWYG in environments supporting multiple
  3978.    fonts or graphics is a a rarely-attained ideal; there are variants
  3979.    of this term to express real-world manifestations including
  3980.    WYSIAWYG (What You See Is *Almost* What You Get) and
  3981.    WYSIMOLWYG (What You See Is More or Less What You Get).  All these
  3982.    can be mildly derogatory, as they are often used to refer to
  3983.    dumbed-down {user-friendly} interfaces targeted at
  3984.    non-programmers; a hacker has no fear of obscure commands (compare
  3985.    {WYSIAYG}).  On the other hand, {EMACS} was one of the very first
  3986.    WYSIWYG editors, replacing (actually, at first overlaying) the
  3987.    extremely obscure, command-based {TECO}.  See also {WIMP
  3988.    environment}.  [Oddly enough, WYSIWYG has already made it into the
  3989.    OED, in lower case yet. --- ESR]
  3990.  
  3991. :xyzzy: /X-Y-Z-Z-Y/, /X-Y-ziz'ee/, /ziz'ee/, or /ik-ziz'ee/
  3992.    [from the ADVENT game] adj. The {canonical} `magic word'.
  3993.    This comes from {ADVENT}, in which the idea is to explore an
  3994.    underground cave with many rooms and to collect the treasures you
  3995.    find there.  If you type `xyzzy' at the appropriate time, you can
  3996.    move instantly between two otherwise distant points.  If,
  3997.    therefore, you encounter some bit of {magic}, you might remark
  3998.    on this quite succinctly by saying simply "Xyzzy!"  "Ordinarily
  3999.    you can't look at someone else's screen if he has protected it, but
  4000.    if you type quadruple-bucky-clear the system will let you do it
  4001.    anyway."  "Xyzzy!"  Xyzzy has actually been implemented as an
  4002.    undocumented no-op command on several OSes; in Data General's
  4003.    AOS/VS, for example, it would typically respond "Nothing
  4004.    happens", just as {ADVENT} did if the magic was invoked at the
  4005.    wrong spot or before a player had performed the action that enabled
  4006.    the word.  In more recent 32-bit versions, by the way, AOS/VS
  4007.    responds "Twice as much happens".  See also {plugh}.
  4008.  
  4009.  
  4010. ************** Changed entries in 2.9.10 ***************
  4011.  
  4012. :Big Gray Wall: n. What faces a {VMS} user searching for
  4013.    documentation.  A full VMS kit comes on a pallet, the documentation
  4014.    taking up around 15 feet of shelf space before the addition of
  4015.    layered products such as compilers, databases, multivendor
  4016.    networking, and programming tools.  Recent (since VMS version 5)
  4017.    DEC documentation comes with gray binders; under VMS version 4 the
  4018.    binders were orange (`big orange wall'), and under version 3 they
  4019.    were blue.  See {VMS}.  Often contracted to `Gray Wall'.
  4020.  
  4021. :bit: [from the mainstream meaning and `Binary digIT'] n.
  4022.    1. [techspeak] The unit of information; the amount of information
  4023.    obtained by asking a yes-or-no question for which the two outcomes
  4024.    are equally probable.  2. [techspeak] A computational quantity that
  4025.    can take on one of two values, such as true and false or 0 and 1.
  4026.    3. A mental flag: a reminder that something should be done
  4027.    eventually.  "I have a bit set for you."  (I haven't seen you for
  4028.    a while, and I'm supposed to tell or ask you something.)  4. More
  4029.    generally, a (possibly incorrect) mental state of belief.  "I have
  4030.    a bit set that says that you were the last guy to hack on EMACS."
  4031.    (Meaning "I think you were the last guy to hack on EMACS, and what
  4032.    I am about to say is predicated on this, so please stop me if this
  4033.    isn't true.")
  4034.  
  4035.    "I just need one bit from you" is a polite way of indicating that
  4036.    you intend only a short interruption for a question that can
  4037.    presumably be answered yes or no.
  4038.  
  4039.    A bit is said to be `set' if its value is true or 1, and
  4040.    `reset' or `clear' if its value is false or 0.  One speaks of
  4041.    setting and clearing bits.  To {toggle} or `invert' a bit is
  4042.    to change it, either from 0 to 1 or from 1 to 0.  See also
  4043.    {flag}, {trit}, {mode bit}.
  4044.  
  4045.    The term `bit' first appeared in print in the computer-science
  4046.    sense in 1949, and seems to have been coined by early computer
  4047.    scientist John Tukey.  Tukey records that it evolved over a lunch
  4048.    table as a handier alternative to `bigit' or `binit'.
  4049.  
  4050. :bogon: /boh'gon/ [by analogy with proton/electron/neutron, but
  4051.    doubtless reinforced after 1980 by the similarity to Douglas
  4052.    Adams's `Vogons'; see the Bibliography in {Appendix C}] n.
  4053.    1. The elementary particle of bogosity (see {quantum
  4054.    bogodynamics}).  For instance, "the Ethernet is emitting bogons
  4055.    again" means that it is broken or acting in an erratic or bogus
  4056.    fashion.  2. A query packet sent from a TCP/IP domain resolver to a
  4057.    root server, having the reply bit set instead of the query bit.
  4058.    3. Any bogus or incorrectly formed packet sent on a network.  4. By
  4059.    synecdoche, used to refer to any bogus thing, as in "I'd like to
  4060.    go to lunch with you but I've got to go to the weekly staff
  4061.    bogon".  5. A person who is bogus or who says bogus things.  This
  4062.    was historically the original usage, but has been overtaken by its
  4063.    derivative senses 1--4.  See also {bogosity}, {bogus};
  4064.    compare {psyton}, {fat electrons}, {magic smoke}.
  4065.  
  4066.    The bogon has become the type case for a whole bestiary of nonce
  4067.    particle names, including the `clutron' or `cluon' (indivisible
  4068.    particle of cluefulness, obviously the antiparticle of the bogon)
  4069.    and the futon (elementary particle of {randomness}).  These are
  4070.    not so much live usages in themselves as examples of a live
  4071.    meta-usage: that is, it has become a standard joke or linguistic
  4072.    maneuver to "explain" otherwise mysterious circumstances by inventing
  4073.    nonce particle names.  And these imply nonce particle theories, with
  4074.    all their dignity or lack thereof (we might note parenthetically that
  4075.    this is a generalization from "(bogus particle) theories" to "bogus
  4076.    (particle theories)"!).  Perhaps such particles are the modern-day
  4077.    equivalents of trolls and wood-nymphs as standard starting-points
  4078.    around which to construct explanatory myths.  Of course, playing on
  4079.    an existing word (as in the `futon') yields additional flavor.
  4080.    Compare {magic smoke}.
  4081.  
  4082. :break: 1. vt. To cause to be {broken} (in any sense).  "Your latest
  4083.    patch to the editor broke the paragraph commands."  2. v.  (of a
  4084.    program) To stop temporarily, so that it may debugged.  The place
  4085.    where it stops is a `breakpoint'.  3. [techspeak] vi. To send an
  4086.    RS-232 break (two character widths of line high) over a serial comm
  4087.    line.  4. [UNIX] vi. To strike whatever key currently causes the
  4088.    tty driver to send SIGINT to the current process.  Normally, break
  4089.    (sense 3), delete or {control-C} does this.  5. `break break'
  4090.    may be said to interrupt a conversation (this is an example of verb
  4091.    doubling).  This usage comes from radio communications, which in
  4092.    turn probably came from landline telegraph/teleprinter usage, as
  4093.    badly abused in the Citizen's Band craze a few years ago.
  4094.  
  4095. :casters-up mode: [IBM] n. Yet another synonym for `broken' or
  4096.    `down'.  Usually connotes a major failure.  A system (hardware or
  4097.    software) which is `down' may be already being restarted before
  4098.    the failure is noticed, whereas one which is `casters up' is
  4099.    usually a good excuse to take the rest of the day off (as long as
  4100.    you're not responsible for fixing it).
  4101.  
  4102. :chain: 1. [orig. from BASIC's `CHAIN' statement] vi. To hand
  4103.    off execution to a child or successor without going through the
  4104.    {OS} command interpreter that invoked it.  The state of the
  4105.    parent program is lost and there is no returning to it.  Though
  4106.    this facility used to be common on memory-limited micros and is
  4107.    still widely supported for backward compatibility, the jargon usage
  4108.    is semi-obsolescent; in particular, most UNIX programmers will
  4109.    think of this as an {exec}.  Oppose the more modern
  4110.    `subshell'.  2. A series of linked data areas within an
  4111.    operating system or application.  `Chain rattling' is the process
  4112.    of repeatedly running through the linked data areas searching for
  4113.    one which is of interest to the executing program.  The implication
  4114.    is that there is a very large number of links on the chain.
  4115.  
  4116. :COME FROM: n. A semi-mythical language construct dual to the `go
  4117.    to'; `COME FROM' <label> would cause the referenced label to
  4118.    act as a sort of trapdoor, so that if the program ever reached it
  4119.    control would quietly and {automagically} be transferred to the
  4120.    statement following the `COME FROM'.  `COME FROM' was
  4121.    first proposed in R.L. Clark's `A Linguistic Contribution to
  4122.    GOTO-less programming', which appeared in a 1973 {Datamation}
  4123.    issue (and was reprinted in the April 1984 issue of
  4124.    `Communications of the ACM').  This parodied the then-raging
  4125.    `structured programming' {holy wars} (see {considered
  4126.    harmful}).  Mythically, some variants are the `assigned COME
  4127.    FROM' and the `computed COME FROM' (parodying some nasty control
  4128.    constructs in FORTRAN and some extended BASICs).  Of course,
  4129.    multi-tasking (or non-determinism) could be implemented by having
  4130.    more than one `COME FROM' statement coming from the same
  4131.    label.
  4132.  
  4133.    In some ways the FORTRAN `DO' looks like a `COME FROM'
  4134.    statement.  After the terminating statement number/`CONTINUE'
  4135.    is reached, control continues at the statement following the DO.
  4136.    Some generous FORTRANs would allow arbitrary statements (other than
  4137.    `CONTINUE') for the statement, leading to examples like:
  4138.  
  4139.            DO 10 I=1,LIMIT
  4140.      C imagine many lines of code here, leaving the
  4141.      C original DO statement lost in the spaghetti...
  4142.            WRITE(6,10) I,FROB(I)
  4143.       10   FORMAT(1X,I5,G10.4)
  4144.  
  4145.    in which the trapdoor is just after the statement labeled 10.
  4146.    (This is particularly surprising because the label doesn't appear
  4147.    to have anything to do with the flow of control at all!)
  4148.  
  4149.    While sufficiently astonishing to the unsuspecting reader, this
  4150.    form of `COME FROM' statement isn't completely general.  After
  4151.    all, control will eventually pass to the following statement.  The
  4152.    implementation of the general form was left to Univac FORTRAN,
  4153.    ca. 1975 (though a roughly similar feature existed on the IBM 7040
  4154.    ten years earlier).  The statement `AT 100' would perform a
  4155.    `COME FROM 100'.  It was intended strictly as a debugging aid,
  4156.    with dire consequences promised to anyone so deranged as to use it
  4157.    in production code.  More horrible things had already been
  4158.    perpetrated in production languages, however; doubters need only
  4159.    contemplate the `ALTER' verb in {COBOL}.
  4160.  
  4161.    `COME FROM' was supported under its own name for the first
  4162.    time 15 years later, in C-INTERCAL (see {INTERCAL},
  4163.    {retrocomputing}); knowledgeable observers are still reeling
  4164.    from the shock.
  4165.  
  4166. :connector conspiracy: [probably came into prominence with the
  4167.    appearance of the KL-10 (one model of the {PDP-10}), none of
  4168.    whose connectors matched anything else] n. The tendency of
  4169.    manufacturers (or, by extension, programmers or purveyors of
  4170.    anything) to come up with new products that don't fit together with
  4171.    the old stuff, thereby making you buy either all new stuff or
  4172.    expensive interface devices.  The KL-10 Massbus connector was
  4173.    actually *patented* by DEC, which reputedly refused to license
  4174.    the design and thus effectively locked third parties out of
  4175.    competition for the lucrative Massbus peripherals market.  This
  4176.    policy is a source of never-ending frustration for the diehards who
  4177.    maintain older PDP-10 or VAX systems.  Their CPUs work fine, but
  4178.    they are stuck with dying, obsolescent disk and tape drives with
  4179.    low capacity and high power requirements.
  4180.  
  4181.    (A closely related phenomenon, with a slightly different intent, is
  4182.    the habit manufacturers have of inventing new screw heads so that
  4183.    only Designated Persons, possessing the magic screwdrivers, can
  4184.    remove covers and make repairs or install options.  The Apple
  4185.    Macintosh takes this one step further, requiring not only a hex
  4186.    wrench but a specialized case-cracking tool to open the box.)
  4187.  
  4188.    In these latter days of open-systems computing this term has fallen
  4189.    somewhat into disuse, to be replaced by the observation that
  4190.    "Standards are great!  There are so *many* of them to choose
  4191.    from!"  Compare {backward combatability}.
  4192.  
  4193. :control-Q: vi. "Resume."  From the ASCII DC1 or {XON}
  4194.    character (the pronunciation /X-on/ is therefore also used), used
  4195.    to undo a previous {control-S}.
  4196.  
  4197. :copy protection: n. A class of methods for preventing incompetent
  4198.    pirates from stealing software and legitimate customers from using
  4199.    it.  Considered silly.
  4200.  
  4201. :crash: 1. n. A sudden, usually drastic failure.  Most often said
  4202.    of the {system} (q.v., sense 1), esp. of magnetic disk drives
  4203.    (the term originally described what happened when the air gap of a
  4204.    hard disk collapses).  "Three {luser}s lost their files in last
  4205.    night's disk crash."  A disk crash that involves the read/write
  4206.    heads dropping onto the surface of the disks and scraping off the
  4207.    oxide may also be referred to as a `head crash', whereas the term
  4208.    `system crash' usually, though not always, implies that the
  4209.    operating system or other software was at fault.  2. v. To fail
  4210.    suddenly.  "Has the system just crashed?"  "Something crashed
  4211.    the OS!" See {down}.  Also used transitively to indicate the
  4212.    cause of the crash (usually a person or a program, or both).
  4213.    "Those idiots playing {SPACEWAR} crashed the system." 3. vi.
  4214.    Sometimes said of people hitting the sack after a long {hacking
  4215.    run}; see {gronk out}.
  4216.  
  4217. :crippleware: n. 1. Software that has some important functionality
  4218.    deliberately removed, so as to entice potential users to pay for a
  4219.    working version.  2. [Cambridge] {Guiltware} that exhorts you to
  4220.    donate to some charity (compare {careware}, {nagware}).
  4221.    3. Hardware deliberately crippled, which can be upgraded to a more
  4222.    expensive model by a trivial change (e.g., cutting a jumper).
  4223.  
  4224.    An excellent example of crippleware (sense 3) is Intel's 486SX
  4225.    chip, which is a standard 486DX chip with the co-processor dyked
  4226.    out (in some early versions it was present but disabled).  To
  4227.    upgrade, you buy a complete 486DX chip with *working*
  4228.    co-processor (its identity thinly veiled by a different pinout) and
  4229.    plug it into the board's expansion socket.  It then disables the
  4230.    SX, which becomes a fancy power sink.  Don't you love Intel?
  4231.  
  4232. :cut a tape: vi. To write a software or document distribution on
  4233.    magnetic tape for shipment.  Has nothing to do with physically
  4234.    cutting the medium!  Early versions of this lexicon claimed that
  4235.    one never analogously speaks of `cutting a disk', but this has
  4236.    since been reported as live usage.  Related slang usages are
  4237.    mainstream business's `cut a check', the recording industry's
  4238.    `cut a record', and the military's `cut an order'.
  4239.  
  4240.    All of these usages reflect physical processes in obsolete
  4241.    recording and duplication technologies.  The first stage in
  4242.    manufacturing an old-style vinyl record involved cutting grooves in
  4243.    a stamping die with a precision lathe.  More mundanely, the
  4244.    dominant technology for mass duplication of paper documents in
  4245.    pre-photocopying days involved "cutting a stencil", punching away
  4246.    portions of the wax overlay on a silk screen.  More directly,
  4247.    paper tape with holes punched in it was an important early storage
  4248.    medium.
  4249.  
  4250. :deckle: /dek'l/ [from dec- and {nybble}; the original
  4251.    spelling seems to have been `decle'] n. Two {nickle}s;
  4252.    10 bits.  Reported among developers for Mattel's GI 1600 (the
  4253.    Intellivision games processor), a chip with 16-bit-wide RAM but
  4254.    10-bit-wide ROM.
  4255.  
  4256. :demo: /de'moh/ [short for `demonstration'] 1. v. To
  4257.    demonstrate a product or prototype.  A far more effective way of
  4258.    inducing bugs to manifest than any number of {test} runs,
  4259.    especially when important people are watching.  2. n. The act of
  4260.    demoing.  "I've gotta give a demo of the drool-proof interface;
  4261.    how does it work again?"  3. n. Esp. as `demo version', can
  4262.    refer either to an early, barely-functional version of a program
  4263.    which can be used for demonstration purposes as long as the
  4264.    operator uses *exactly* the right commands and skirts its numerous
  4265.    bugs, deficiencies, and unimplemented portions, or to a special
  4266.    version of a program (frequently with some features crippled) which
  4267.    is distributed at little or no cost to the user for enticement
  4268.    purposes.
  4269.  
  4270. :deprecated: adj. Said of a program or feature that is considered
  4271.    obsolescent and in the process of being phased out, usually in
  4272.    favor of a specified replacement.  Deprecated features can,
  4273.    unfortunately, linger on for many years.  This term appears with
  4274.    distressing frequency in standards documents when the committees
  4275.    writing the documents realize that large amounts of extant (and
  4276.    presumably happily working) code depend on the feature(s) that have
  4277.    passed out of favor.  See also {dusty deck}.
  4278.  
  4279. :deprecated: adj. Said of a program or feature that is considered
  4280.    obsolescent and in the process of being phased out, usually in
  4281.    favor of a specified replacement.  Deprecated features can,
  4282.    unfortunately, linger on for many years.  This term appears with
  4283.    distressing frequency in standards documents when the committees
  4284.    writing the documents realize that large amounts of extant (and
  4285.    presumably happily working) code depend on the feature(s) that have
  4286.    passed out of favor.  See also {dusty deck}.
  4287.  
  4288. :dickless workstation: n. Extremely pejorative hackerism for
  4289.    `diskless workstation', a class of botches including the Sun 3/50
  4290.    and other machines designed exclusively to network with an
  4291.    expensive central disk server.  These combine all the disadvantages
  4292.    of time-sharing with all the disadvantages of distributed personal
  4293.    computers; typically, they cannot even {boot} themselves without
  4294.    help (in the form of some kind of {breath-of-life packet}) from
  4295.    the server.
  4296.  
  4297. :dongle: /dong'gl/ n. 1. A security or {copy protection}
  4298.    device for commercial microcomputer programs consisting of a
  4299.    serialized EPROM and some drivers in a D-25 connector shell, which
  4300.    must be connected to an I/O port of the computer while the program
  4301.    is run.  Programs that use a dongle query the port at startup and
  4302.    at programmed intervals thereafter, and terminate if it does not
  4303.    respond with the dongle's programmed validation code.  Thus, users
  4304.    can make as many copies of the program as they want but must pay
  4305.    for each dongle.  The idea was clever, but it was initially a
  4306.    failure, as users disliked tying up a serial port this way.  Most
  4307.    dongles on the market today (1991) will pass data through the port
  4308.    and monitor for {magic} codes (and combinations of status lines)
  4309.    with minimal if any interference with devices further down the line
  4310.    --- this innovation was necessary to allow daisy-chained dongles
  4311.    for multiple pieces of software.  The devices are still not widely
  4312.    used, as the industry has moved away from copy-protection schemes
  4313.    in general.  2. By extension, any physical electronic key or
  4314.    transferrable ID required for a program to function.  Common
  4315.    variations on this theme have used parallel or even joystick
  4316.    ports.  See {dongle-disk}.
  4317.  
  4318.    [Note: in early 1992, advertising copy from Rainbow Technologies (a
  4319.    manufacturer of dongles) included a claim that the word derived from
  4320.    "Don Gall", allegedly the inventor of the device.  The company's
  4321.    receptionist will cheerfully tell you that the story is a myth
  4322.    invented for the ad copy.  Nevertheless, I expect it to haunt my
  4323.    life as a lexicographer for at least the next ten years. --- ESR]
  4324.  
  4325. :dongle-disk: /don'gl disk/ n.  A special floppy disk that is
  4326.    required in order to perform some task.  Some contain special
  4327.    coding that allows an application to identify it uniquely, others
  4328.    *are* special code that does something that normally-resident
  4329.    programs don't or can't.  (For example, AT&T's "Unix PC" would
  4330.    only come up in {root mode} with a special boot disk.)  Also
  4331.    called a `key disk'.  See {dongle}.
  4332.  
  4333. :dot file: [UNIX] n. A file that is not visible by default to
  4334.    normal directory-browsing tools (on UNIX, files named with a
  4335.    leading dot are, by convention, not normally presented in directory
  4336.    listings).  Many programs define one or more dot files in which
  4337.    startup or configuration information may be optionally recorded; a
  4338.    user can customize the program's behavior by creating the
  4339.    appropriate file in the current or home directory.  (Therefore, dot
  4340.    files tend to {creep} --- with every nontrivial application
  4341.    program defining at least one, a user's home directory can be
  4342.    filled with scores of dot files, of course without the user's
  4343.    really being aware of it.)  See also {rc file}.
  4344.  
  4345. :drunk mouse syndrome: (also `mouse on drugs') n. A malady
  4346.    exhibited by the mouse pointing device of some computers.  The
  4347.    typical symptom is for the mouse cursor on the screen to move in
  4348.    random directions and not in sync with the motion of the actual
  4349.    mouse.  Can usually be corrected by unplugging the mouse and
  4350.    plugging it back again.  Another recommended fix for optical mice
  4351.    is to rotate your mouse pad 90 degrees.
  4352.  
  4353.    At Xerox PARC in the 1970s, most people kept a can of copier
  4354.    cleaner (isopropyl alcohol) at their desks.  When the steel ball on
  4355.    the mouse had picked up enough {cruft} to be unreliable, the
  4356.    mouse was doused in cleaner, which restored it for a while.
  4357.    However, this operation left a fine residue that accelerated the
  4358.    accumulation of cruft, so the dousings became more and more
  4359.    frequent.  Finally, the mouse was declared `alcoholic' and sent
  4360.    to the clinic to be dried out in a CFC ultrasonic bath.
  4361.  
  4362. :EMACS: /ee'maks/ [from Editing MACroS] n. The ne plus ultra of
  4363.    hacker editors, a programmable text editor with an entire LISP
  4364.    system inside it.  It was originally written by Richard Stallman in
  4365.    {TECO} under {{ITS}} at the MIT AI lab; AI Memo 554 described
  4366.    it as "an advanced, self-documenting, customizable, extensible
  4367.    real-time display editor".  It has since been reimplemented any
  4368.    number of times, by various hackers, and versions exist that run
  4369.    under most major operating systems.  Perhaps the most widely used
  4370.    version, also written by Stallman and now called "{GNU} EMACS"
  4371.    or {GNUMACS}, runs principally under UNIX.  It includes
  4372.    facilities to run compilation subprocesses and send and receive
  4373.    mail; many hackers spend up to 80% of their {tube time} inside
  4374.    it.  Other variants include {GOSMACS}, CCA EMACS, UniPress
  4375.    EMACS, Montgomery EMACS, jove, epsilon, and MicroEMACS.
  4376.  
  4377.    Some EMACS versions running under window managers iconify as an
  4378.    overflowing kitchen sink, perhaps to suggest the one feature the
  4379.    editor does not (yet) include.  Indeed, some hackers find EMACS too
  4380.    {heavyweight} and {baroque} for their taste, and expand the
  4381.    name as `Escape Meta Alt Control Shift' to spoof its heavy reliance
  4382.    on keystrokes decorated with {bucky bits}.  Other spoof
  4383.    expansions include `Eight Megabytes And Constantly Swapping',
  4384.    `Eventually `malloc()'s All Computer Storage', and `EMACS
  4385.    Makes A Computer Slow' (see {{recursive acronym}}).  See
  4386.    also {vi}.
  4387.  
  4388. :emoticon: /ee-moh'ti-kon/ n. An ASCII glyph used to indicate an
  4389.    emotional state in email or news.  Although originally intended
  4390.    mostly as jokes, emoticons (or some other explicit humor
  4391.    indication) are virtually required under certain circumstances in
  4392.    high-volume text-only communication forums such as USENET; the lack
  4393.    of verbal and visual cues can otherwise cause what were intended to
  4394.    be humorous, sarcastic, ironic, or otherwise non-100%-serious
  4395.    comments to be badly misinterpreted (not always even by
  4396.    {newbie}s), resulting in arguments and {flame war}s.
  4397.  
  4398.    Hundreds of emoticons have been proposed, but only a few are in
  4399.    common use.  These include:
  4400.  
  4401.      :-)
  4402.           `smiley face' (for humor, laughter, friendliness,
  4403.           occasionally sarcasm)
  4404.  
  4405.      :-(
  4406.           `frowney face' (for sadness, anger, or upset)
  4407.  
  4408.      ;-)
  4409.           `half-smiley' ({ha ha only serious});
  4410.           also known as `semi-smiley' or `winkey face'.
  4411.  
  4412.      :-/
  4413.           `wry face'
  4414.  
  4415.    (These may become more comprehensible if you tilt your head
  4416.    sideways, to the left.)
  4417.  
  4418.    The first two listed are by far the most frequently encountered.
  4419.    Hyphenless forms of them are common on CompuServe, GEnie, and BIX;
  4420.    see also {bixie}.  On {USENET}, `smiley' is often used as a
  4421.    generic term synonymous with {emoticon}, as well as specifically
  4422.    for the happy-face emoticon.
  4423.  
  4424.    It appears that the emoticon was invented by one Scott Fahlman on
  4425.    the CMU {bboard} systems around 1980.  He later wrote: "I wish I
  4426.    had saved the original post, or at least recorded the date for
  4427.    posterity, but I had no idea that I was starting something that
  4428.    would soon pollute all the world's communication channels."  [GLS
  4429.    confirms that he remembers this original posting].
  4430.  
  4431.    Note for the {newbie}: Overuse of the smiley is a mark of
  4432.    loserhood!  More than one per paragraph is a fairly sure sign that
  4433.    you've gone over the line.
  4434.  
  4435. :EOF: /E-O-F/ [abbreviation, `End Of File'] n. 1. [techspeak] The
  4436.    {out-of-band} value returned by C's sequential character-input
  4437.    functions (and their equivalents in other environments) when end of
  4438.    file has been reached.  This value is -1 under C
  4439.    libraries postdating V6 UNIX, but was originally 0.  2. [UNIX] The
  4440.    keyboard character (usually control-D, the ASCII EOT (End Of
  4441.    Transmission) character) that is mapped by the terminal driver into
  4442.    an end-of-file condition.  3. Used by extension in non-computer
  4443.    contexts when a human is doing something that can be modeled as a
  4444.    sequential read and can't go further.  "Yeah, I looked for a list
  4445.    of 360 mnemonics to post as a joke, but I hit EOF pretty fast; all
  4446.    the library had was a {JCL} manual."  See also
  4447.    {EOL}.
  4448.  
  4449. :feature creature: [poss. fr. slang `creature feature' for a
  4450.    horror movie] n. 1. One who loves to add features to designs or
  4451.    programs, perhaps at the expense of coherence, concision, or
  4452.    {taste}.  2. Alternately, a mythical being that induces
  4453.    otherwise rational programmers to perpetrate such crocks.  See also
  4454.    {feeping creaturism}, {creeping featurism}.
  4455.  
  4456. :fence: n. 1. A sequence of one or more distinguished
  4457.    ({out-of-band}) characters (or other data items), used to
  4458.    delimit a piece of data intended to be treated as a unit (the
  4459.    computer-science literature calls this a `sentinel').  The NUL
  4460.    (ASCII 0000000) character that terminates strings in C is a fence.
  4461.    Hex FF is also (though slightly less frequently) used this way.
  4462.    See {zigamorph}.  2. An extra data value inserted in an array or
  4463.    other data structure in order to allow some normal test on the
  4464.    array's contents also to function as a termination test.  For
  4465.    example, a highly optimized routine for finding a value in an array
  4466.    might artificially place a copy of the value to be searched for
  4467.    after the last slot of the array, thus allowing the main search
  4468.    loop to search for the value without having to check at each pass
  4469.    whether the end of the array had been reached.  3. [among users of
  4470.    optimizing compilers] Any technique, usually exploiting knowledge
  4471.    about the compiler, that blocks certain optimizations.  Used when
  4472.    explicit mechanisms are not available or are overkill.  Typically a
  4473.    hack: "I call a dummy procedure there to force a flush of the
  4474.    optimizer's register-coloring info" can be expressed by the
  4475.    shorter "That's a fence procedure".
  4476.  
  4477. :film at 11: [MIT: in parody of TV newscasters] 1. Used in
  4478.    conversation to announce ordinary events, with a sarcastic
  4479.    implication that these events are earth-shattering.  "{{ITS}}
  4480.    crashes; film at 11."  "Bug found in scheduler; film at 11."
  4481.    2. Also widely used outside MIT to indicate that additional
  4482.    information will be available at some future time, *without*
  4483.    the implication of anything particularly ordinary about the
  4484.    referenced event.  For example, "The mail file server died this
  4485.    morning; we found garbage all over the root directory.  Film at
  4486.    11." would indicate that a major failure had occurred but that the
  4487.    people working on it have no additional information about it as
  4488.    yet; use of the phrase in this way suggests gently that the problem
  4489.    is liable to be fixed more quickly if the people doing the fixing
  4490.    can spend time doing the fixing rather than responding to
  4491.    questions, the answers to which will appear on the normal "11:00
  4492.    news", if people will just be patient.
  4493.  
  4494. :flap: vt. 1. To unload a DECtape (so it goes flap, flap,
  4495.    flap...).  Old-time hackers at MIT tell of the days when the
  4496.    disk was device 0 and {microtape}s were 1, 2,... and
  4497.    attempting to flap device 0 would instead start a motor banging
  4498.    inside a cabinet near the disk.  2. By extension, to unload any
  4499.    magnetic tape.  See also {macrotape}.  Modern cartridge tapes no
  4500.    longer actually flap, but the usage has remained.  (The term could
  4501.    well be re-applied to DEC's TK50 cartridge tape drive, a
  4502.    spectacularly misengineered contraption which makes a loud flapping
  4503.    sound, almost like an old reel-type lawnmower, in one of its many
  4504.    tape-eating failure modes.)
  4505.  
  4506. :flat: adj. 1. Lacking any complex internal structure.  "That
  4507.    {bitty box} has only a flat filesystem, not a hierarchical
  4508.    one."  The verb form is {flatten}.  2. Said of a memory
  4509.    architecture (like that of the VAX or 680x0) that is one big linear
  4510.    address space (typically with each possible value of a processor
  4511.    register corresponding to a unique core address), as opposed to a
  4512.    `segmented' architecture (like that of the 80x86) in which
  4513.    addresses are composed from a base-register/offset pair (segmented
  4514.    designs are generally considered {cretinous}).
  4515.   
  4516.    Note that sense 1 (at least with respect to filesystems) is usually
  4517.    used pejoratively, while sense 2 is a {Good Thing}.
  4518.  
  4519. :funny money: n. 1. Notional `dollar' units of computing time
  4520.    and/or storage handed to students at the beginning of a computer
  4521.    course; also called `play money' or `purple money' (in implicit
  4522.    opposition to real or `green' money).  In New Zealand and Germany
  4523.    the odd usage `paper money' has been recorded; in Germany, the
  4524.    particularly amusing synonym `transfer ruble' commemmorates the
  4525.    funny money used for trade between COMECON countries back when the
  4526.    Soviet Bloc still existed.  When your funny money ran out, your
  4527.    account froze and you needed to go to a professor to get more.
  4528.    Fortunately, the plunging cost of timesharing cycles has made this
  4529.    less common.  The amounts allocated were almost invariably too
  4530.    small, even for the non-hackers who wanted to slide by with minimum
  4531.    work.  In extreme cases, the practice led to small-scale black
  4532.    markets in bootlegged computer accounts.  2. By extension, phantom
  4533.    money or quantity tickets of any kind used as a resource-allocation
  4534.    hack within a system.  Antonym: `real money'.
  4535.  
  4536. :glitch: /glich/ [from German `glitschen' to slip, via Yiddish
  4537.    `glitshen', to slide or skid] 1. n. A sudden interruption in
  4538.    electric service, sanity, continuity, or program function.
  4539.    Sometimes recoverable.  An interruption in electric service is
  4540.    specifically called a `power glitch' (also {power hit}), of
  4541.    grave concern because it usually crashes all the computers.  In
  4542.    jargon, though, a hacker who got to the middle of a sentence and
  4543.    then forgot how he or she intended to complete it might say,
  4544.    "Sorry, I just glitched".  2. vi. To commit a glitch.  See
  4545.    {gritch}.  3. vt.  [Stanford] To scroll a display screen, esp.
  4546.    several lines at a time.  {{WAITS}} terminals used to do this in
  4547.    order to avoid continuous scrolling, which is distracting to the
  4548.    eye.  4. obs.  Same as {magic cookie}, sense 2.
  4549.  
  4550.    All these uses of `glitch' derive from the specific technical
  4551.    meaning the term has in the electronic hardware world, where it is
  4552.    now techspeak.  A glitch can occur when the inputs of a circuit
  4553.    change, and the outputs change to some {random} value for some
  4554.    very brief time before they settle down to the correct value.  If
  4555.    another circuit inspects the output at just the wrong time, reading
  4556.    the random value, the results can be very wrong and very hard to
  4557.    debug (a glitch is one of many causes of electronic {heisenbug}s).
  4558.  
  4559. :grep: /grep/ [from the qed/ed editor idiom g/re/p , where
  4560.    re stands for a regular expression, to Globally search for the
  4561.    Regular Expression and Print the lines containing matches to it,
  4562.    via {{UNIX}} `grep(1)'] vt. To rapidly scan a file or set of
  4563.    files looking for a particular string or pattern (when browsing
  4564.    through a large set of files, one may speak of `grepping
  4565.    around').  By extension, to look for something by pattern.  "Grep
  4566.    the bulletin board for the system backup schedule, would you?"
  4567.    See also {vgrep}.
  4568.  
  4569. :hack: 1. n. Originally, a quick job that produces what is needed,
  4570.    but not well.  2. n. An incredibly good, and perhaps very
  4571.    time-consuming, piece of work that produces exactly what is needed.
  4572.    3. vt. To bear emotionally or physically.  "I can't hack this
  4573.    heat!"  4. vt. To work on something (typically a program).  In an
  4574.    immediate sense: "What are you doing?"  "I'm hacking TECO."
  4575.    In a general (time-extended) sense: "What do you do around here?"
  4576.    "I hack TECO."  More generally, "I hack `foo'" is roughly
  4577.    equivalent to "`foo' is my major interest (or project)".  "I
  4578.    hack solid-state physics."  5. vt. To pull a prank on.  See
  4579.    sense 2 and {hacker} (sense 5).  6. vi. To interact with a
  4580.    computer in a playful and exploratory rather than goal-directed
  4581.    way.  "Whatcha up to?"  "Oh, just hacking."  7. n. Short for
  4582.    {hacker}.  8. See {nethack}.  9. [MIT] v. To explore
  4583.    the basements, roof ledges, and steam tunnels of a large,
  4584.    institutional building, to the dismay of Physical Plant workers and
  4585.    (since this is usually performed at educational institutions) the
  4586.    Campus Police.  This activity has been found to be eerily similar
  4587.    to playing adventure games such as Dungeons and Dragons and {Zork}.
  4588.    See also {vadding}.
  4589.  
  4590.    Constructions on this term abound.  They include `happy hacking'
  4591.    (a farewell), `how's hacking?' (a friendly greeting among
  4592.    hackers) and `hack, hack' (a fairly content-free but friendly
  4593.    comment, often used as a temporary farewell).  For more on this
  4594.    totipotent term see "{The Meaning of `Hack'}".  See
  4595.    also {neat hack}, {real hack}.
  4596.  
  4597. :hamster: n. 1. [Fairchild] A particularly slick little piece of
  4598.    code that does one thing well; a small, self-contained hack.  The
  4599.    image is of a hamster happily spinning its exercise wheel.  2. A
  4600.    tailless mouse; that is, one with an infrared link to a receiver on
  4601.    the machine, as opposed to the conventional cable.  3. [UK] Any
  4602.    item of hardware made by Amstrad, a company famous for its cheap
  4603.    plastic PC-almost-compatibles.
  4604.  
  4605. :heavyweight: adj. High-overhead; {baroque}; code-intensive;
  4606.    featureful, but costly.  Esp. used of communication protocols,
  4607.    language designs, and any sort of implementation in which maximum
  4608.    generality and/or ease of implementation has been pushed at the
  4609.    expense of mundane considerations such as speed, memory
  4610.    utilization, and startup time.  {EMACS} is a heavyweight editor;
  4611.    {X} is an *extremely* heavyweight window system.  This term
  4612.    isn't pejorative, but one hacker's heavyweight is another's
  4613.    {elephantine} and a third's {monstrosity}.  Oppose
  4614.    `lightweight'.  Usage: now borders on techspeak, especially in
  4615.    the compound `heavyweight process'.
  4616.  
  4617. :hot spot: n. 1. [primarily used by C/UNIX programmers, but
  4618.    spreading] It is received wisdom that in most programs, less than
  4619.    10% of the code eats 90% of the execution time; if one were to
  4620.    graph instruction visits versus code addresses, one would typically
  4621.    see a few huge spikes amidst a lot of low-level noise.  Such spikes
  4622.    are called `hot spots' and are good candidates for heavy
  4623.    optimization or {hand-hacking}.  The term is especially used of
  4624.    tight loops and recursions in the code's central algorithm, as
  4625.    opposed to (say) initial set-up costs or large but infrequent I/O
  4626.    operations.  See {tune}, {bum}, {hand-hacking}.  2. The
  4627.    active location of a cursor on a bit-map display.  "Put the
  4628.    mouse's hot spot on the `ON' widget and click the left button."
  4629.    3. A screen region that is sensitive to mouse clicks, which trigger
  4630.    some action.  Hypertext help screens are an example, in which a hot
  4631.    spot exists in the vicinity of any word for which additional
  4632.    material is available.  4. In a massively parallel computer with
  4633.    shared memory, the one location that all 10,000 processors are
  4634.    trying to read or write at once (perhaps because they are all doing
  4635.    a {busy-wait} on the same lock).
  4636.  
  4637. :infant mortality: n. It is common lore among hackers (and in the
  4638.    electronics industry at large; this term is possibly techspeak by
  4639.    now) that the chances of sudden hardware failure drop off
  4640.    exponentially with a machine's time since power-up (that is, until
  4641.    the relatively distant time at which enough mechanical wear in I/O
  4642.    devices and thermal-cycling stress in components has accumulated
  4643.    for the machine to start going senile).  Up to half of all chip and
  4644.    wire failures happen within a new system's first few weeks; such
  4645.    failures are often referred to as `infant mortality' problems
  4646.    (or, occasionally, as `sudden infant death syndrome').  See
  4647.    {bathtub curve}, {burn-in period}.
  4648.  
  4649. :infant mortality: n. It is common lore among hackers (and in the
  4650.    electronics industry at large; this term is possibly techspeak by
  4651.    now) that the chances of sudden hardware failure drop off
  4652.    exponentially with a machine's time since power-up (that is, until
  4653.    the relatively distant time at which enough mechanical wear in I/O
  4654.    devices and thermal-cycling stress in components has accumulated
  4655.    for the machine to start going senile).  Up to half of all chip and
  4656.    wire failures happen within a new system's first few weeks; such
  4657.    failures are often referred to as `infant mortality' problems
  4658.    (or, occasionally, as `sudden infant death syndrome').  See
  4659.    {bathtub curve}, {burn-in period}.
  4660.  
  4661. :line starve: [MIT] 1. vi. To feed paper through a printer the
  4662.    wrong way by one line (most printers can't do this).  On a display
  4663.    terminal, to move the cursor up to the previous line of the screen.
  4664.    "To print `X squared', you just output `X', line starve, `2', line
  4665.    feed."  (The line starve causes the `2' to appear on the line
  4666.    above the `X', and the line feed gets back to the original line.)
  4667.    2. n. A character (or character sequence) that causes a terminal to
  4668.    perform this action.  ASCII 0011010, also called SUB or control-Z,
  4669.    was one common line-starve character in the days before
  4670.    microcomputers and the X3.64 terminal standard.  Unlike `line
  4671.    feed', `line starve' is *not* standard {{ASCII}}
  4672.    terminology.  Even among hackers it is considered a bit silly.
  4673.    3. [proposed] A sequence such as \c (used in System V echo, as well
  4674.    as {{nroff}} and {{troff}}) that suppresses a {newline} or
  4675.    other character(s) that would normally be emitted.
  4676.  
  4677. :link farm: [UNIX] n. A directory tree that contains many links to
  4678.    files in a master directory tree of files.  Link farms save space
  4679.    when one is maintaining several nearly identical copies of the same
  4680.    source tree --- for example, when the only difference is
  4681.    architecture-dependent object files.  "Let's freeze the source and
  4682.    then rebuild the FROBOZZ-3 and FROBOZZ-4 link farms."  Link farms
  4683.    may also be used to get around restrictions on the number of
  4684.    `-I' (include-file directory) arguments on older
  4685.    C preprocessors.  However, they can also get completely out of
  4686.    hand, becoming the filesystem equivalent of {spaghetti
  4687.    code}.
  4688.  
  4689. :logical: [from the technical term `logical device', wherein a
  4690.    physical device is referred to by an arbitrary `logical' name]
  4691.    adj. Having the role of.  If a person (say, Les Earnest at SAIL)
  4692.    who had long held a certain post left and were replaced, the
  4693.    replacement would for a while be known as the `logical' Les
  4694.    Earnest.  (This does not imply any judgment on the replacement.)
  4695.    Compare {virtual}.
  4696.  
  4697.    At Stanford, `logical' compass directions denote a coordinate
  4698.    system in which `logical north' is toward San Francisco,
  4699.    `logical west' is toward the ocean, etc., even though logical
  4700.    north varies between physical (true) north near San Francisco and
  4701.    physical west near San Jose.  (The best rule of thumb here is that,
  4702.    by definition, El Camino Real always runs logical north-and-south.)
  4703.    In giving directions, one might say: "To get to Rincon Tarasco
  4704.    restaurant, get onto {El Camino Bignum} going logical north."
  4705.    Using the word `logical' helps to prevent the recipient from
  4706.    worrying about that the fact that the sun is setting almost
  4707.    directly in front of him.  The concept is reinforced by North
  4708.    American highways which are almost, but not quite, consistently
  4709.    labeled with logical rather than physical directions.  A similar
  4710.    situation exists at MIT: Route 128 (famous for the electronics
  4711.    industry that has grown up along it) is a 3-quarters circle
  4712.    surrounding Boston at a radius of 10 miles, terminating near the
  4713.    coastline at each end.  It would be most precise to describe the
  4714.    two directions along this highway as `clockwise' and
  4715.    `counterclockwise', but the road signs all say "north" and
  4716.    "south", respectively.  A hacker might describe these directions
  4717.    as `logical north' and `logical south', to indicate that they
  4718.    are conventional directions not corresponding to the usual
  4719.    denotation for those words.  (If you went logical south along the
  4720.    entire length of route 128, you would start out going northwest,
  4721.    curve around to the south, and finish headed due east, including
  4722.    one infamous stretch of pavement that is simultaneously route 128
  4723.    south and Interstate 93 north, and is signed as such!)
  4724.  
  4725. :mailing list: n. (often shortened in context to `list') 1. An
  4726.    {email} address that is an alias (or {macro}, though that word
  4727.    is never used in this connection) for many other email addresses.
  4728.    Some mailing lists are simple `reflectors', redirecting mail sent
  4729.    to them to the list of recipients.  Others are filtered by humans
  4730.    or programs of varying degrees of sophistication; lists filtered by
  4731.    humans are said to be `moderated'.  2. The people who receive
  4732.    your email when you send it to such an address.
  4733.  
  4734.    Mailing lists are one of the primary forms of hacker interaction,
  4735.    along with {USENET}.  They predate USENET, having originated
  4736.    with the first UUCP and ARPANET connections.  They are often used
  4737.    for private information-sharing on topics that would be too
  4738.    specialized for or inappropriate to public USENET groups.  Though
  4739.    some of these maintain purely technical content (such as the
  4740.    Internet Engineering Task Force mailing list), others (like the
  4741.    `sf-lovers' list maintained for many years by Saul Jaffe) are
  4742.    recreational, and others are purely social.  Perhaps the most
  4743.    infamous of the social lists was the eccentric bandykin
  4744.    distribution; its latter-day progeny, lectroids and
  4745.    tanstaafl, still include a number of the oddest and most
  4746.    interesting people in hackerdom.
  4747.  
  4748.    Mailing lists are easy to create and (unlike USENET) don't tie up a
  4749.    significant amount of machine resources (until they get very large,
  4750.    at which point they can become interesting torture tests for mail
  4751.    software).  Thus, they are often created temporarily by working
  4752.    groups, the members of which can then collaborate on a project
  4753.    without ever needing to meet face-to-face.  Much of the material in
  4754.    this lexicon was criticized and polished on just such a mailing
  4755.    list (called `jargon-friends'), which included all the co-authors
  4756.    of Steele-1983.
  4757.  
  4758. :MFTL: /M-F-T-L/ [abbreviation: `My Favorite Toy Language'] 1. adj.
  4759.    Describes a talk on a programming language design that is heavy on
  4760.    the syntax (with lots of BNF), sometimes even talks about semantics
  4761.    (e.g., type systems), but rarely, if ever, has any content (see
  4762.    {content-free}).  More broadly applied to talks --- even when
  4763.    the topic is not a programming language --- in which the subject
  4764.    matter is gone into in unnecessary and meticulous detail at the
  4765.    sacrifice of any conceptual content.  "Well, it was a typical MFTL
  4766.    talk".  2. n. Describes a language about which the developers are
  4767.    passionate (often to the point of prosyletic zeal) but no one else
  4768.    cares about.  Applied to the language by those outside the
  4769.    originating group.  "He cornered me about type resolution in his
  4770.    MFTL."
  4771.  
  4772.    The first great goal in the mind of the designer of an MFTL is
  4773.    usually to write a compiler for it, then bootstrap the design away
  4774.    from contamination by lesser languages by writing a compiler for it
  4775.    in itself.  Thus, the standard put-down question at an MFTL talk is
  4776.    "Has it been used for anything besides its own compiler?".  On
  4777.    the other hand, a language that *cannot* be used to write
  4778.    its own compiler is beneath contempt.  See {break-even point}.
  4779.  
  4780.    (On a related note, Dennis Ritchie once proposed a test of the
  4781.    generality and utility of a language and the operating system under
  4782.    which it is compiled: "Is the output of a FORTRAN program compiled
  4783.    under the language acceptable as input to the FORTRAN compiler?"
  4784.    In other words, can you write programs thaat write programs? (See
  4785.    {toolsmith}.)  Alarming numbers of (language, OS) pairs fail
  4786.    this test, particularly when the language is FORTRAN; Ritchie is
  4787.    quick to point out that {UNIX} (even using FORTRAN) passes it
  4788.    handily.  That the test could ever be failed is only surprising to
  4789.    those who have had the good fortune to have worked only under
  4790.    modern systems which lack OS-supported and -imposed "file
  4791.    types".)
  4792.  
  4793. :microfortnight: n. 1/1000000 of the fundamental unit of time in
  4794.    the Furlong/Firkin/Fortnight system of measurement; 1.2096 sec.  (A
  4795.    furlong is 1/8th of a mile; a firkin is 1/4th of a barrel; the mass
  4796.    unit of the system is taken to be a firkin of water).  The VMS
  4797.    operating system has a lot of tuning parameters that you can set
  4798.    with the SYSGEN utility, and one of these is TIMEPROMPTWAIT, the
  4799.    time the system will wait for an operator to set the correct date
  4800.    and time at boot if it realizes that the current value is bogus.
  4801.    This time is specified in microfortnights!
  4802.  
  4803.    Multiple uses of the millifortnight (about 20 minutes) and
  4804.    {nanofortnight} have also been reported.
  4805.  
  4806. :misfeature: /mis-fee'chr/ or /mis'fee`chr/ n. A feature that
  4807.    eventually causes lossage, possibly because it is not adequate for
  4808.    a new situation that has evolved.  Since it results from a
  4809.    deliberate and properly implemented feature, a misfeature is not a
  4810.    bug.  Nor is it a simple unforeseen side effect; the term implies
  4811.    that the feature in question was carefully planned, but its
  4812.    long-term consequences were not accurately or adequately predicted
  4813.    (which is quite different from not having thought ahead at all).  A
  4814.    misfeature can be a particularly stubborn problem to resolve,
  4815.    because fixing it usually involves a substantial philosophical
  4816.    change to the structure of the system involved.
  4817.  
  4818.    Many misfeatures (especially in user-interface design) arise
  4819.    because the designers/implementors mistake their personal tastes
  4820.    for laws of nature.  Often a former feature becomes a misfeature
  4821.    because a trade-off was made whose parameters subsequently change
  4822.    (possibly only in the judgment of the implementors).  "Well, yeah,
  4823.    it is kind of a misfeature that file names are limited to six
  4824.    characters, but the original implementors wanted to save directory
  4825.    space and we're stuck with it for now."
  4826.  
  4827. :MS-DOS:: /M-S-dos/ [MicroSoft Disk Operating System] n. A
  4828.    {clone} of {{CP/M}} for the 8088 crufted together in 6 weeks by
  4829.    hacker Tim Paterson, who is said to have regretted it ever since.
  4830.    Numerous features, including vaguely UNIX-like but rather broken
  4831.    support for subdirectories, I/O redirection, and pipelines, were
  4832.    hacked into 2.0 and subsequent versions; as a result, there are two
  4833.    or more incompatible versions of many system calls, and MS-DOS
  4834.    programmers can never agree on basic things like what character to
  4835.    use as an option switch or whether to be case-sensitive.  The
  4836.    resulting mess is now the highest-unit-volume OS in history.  Often
  4837.    known simply as DOS, which annoys people familiar with other
  4838.    similarly abbreviated operating systems (the name goes back to the
  4839.    mid-1960s, when it was attached to IBM's first disk operating
  4840.    system for the 360).  The name further annoys those who know what
  4841.    the term {operating system} does (or ought to) connote; DOS is
  4842.    more properly a set of relatively simple interrupt services.  Some
  4843.    people like to pronounce DOS like "dose", as in "I don't work on
  4844.    dose, man!", or to compare it to a dose of brain-damaging drugs
  4845.    (a slogan button in wide circulation among hackers exhorts:
  4846.    "MS-DOS: Just say No!").  See {mess-dos}, {ill-behaved}.
  4847.  
  4848. :Nightmare File System: n. Pejorative hackerism for Sun's Network
  4849.    File System (NFS).  In any nontrivial network of Suns where there
  4850.    is a lot of NFS cross-mounting, when one Sun goes down, the others
  4851.    often freeze up.  Some machine tries to access the down one, and
  4852.    (getting no response) repeats indefinitely.  This causes it to
  4853.    appear dead to some messages (what is actually happening is that it
  4854.    is locked up in what should have been a brief excursion to a higher
  4855.    {spl} level).  Then another machine tries to reach either the
  4856.    down machine or the pseudo-down machine, and itself becomes
  4857.    pseudo-down.  The first machine to discover the down one is now
  4858.    trying both to access the down one and to respond to the
  4859.    pseudo-down one, so it is even harder to reach.  This situation
  4860.    snowballs very fast, and soon the entire network of machines is
  4861.    frozen --- worst of all, the user can't even abort the file access
  4862.    that started the problem!  Many of NFS's problems are excused by
  4863.    partisans as being an inevitable result of its statelessness, which
  4864.    is held to be a great feature (critics, of course, call it a great
  4865.    {misfeature}).  (ITS partisans are apt to cite this as proof of
  4866.    UNIX's alleged bogosity; ITS had a working NFS-like shared file
  4867.    system with none of these problems in the early 1970s.)  See also
  4868.    {broadcast storm}.
  4869.  
  4870. :NIL: /nil/ No.  Used in reply to a question, particularly one
  4871.    asked using the `-P' convention.  Most hackers assume this derives
  4872.    simply from LISP terminology for `false' (see also {T}), but
  4873.    NIL as a negative reply was well-established among radio hams
  4874.    decades before the advent of LISP.  The historical connection
  4875.    between early hackerdom and the ham radio world was strong enough
  4876.    that this may have been an influence.
  4877.  
  4878. :one-liner wars: n. A game popular among hackers who code in the
  4879.    language APL (see {write-only language} and {line noise}).
  4880.    The objective is to see who can code the most interesting and/or
  4881.    useful routine in one line of operators chosen from
  4882.    APL's exceedingly {hairy} primitive set.  A similar amusement
  4883.    was practiced among {TECO} hackers and is now popular among
  4884.    {Perl} aficionados.
  4885.    
  4886.    Ken Iverson, the inventor of APL, has been credited with a
  4887.    one-liner that, given a number N, produces a list of the
  4888.    prime numbers from 1 to N inclusive.  It looks like this:
  4889.  
  4890.         (2 = 0 +.= T o.| T) / T <- iN
  4891.  
  4892.    where `o' is the APL null character, the assignment arrow is a
  4893.    single character, and `i' represents the APL iota.
  4894.  
  4895. :patch: 1. n. A temporary addition to a piece of code, usually as a
  4896.    {quick-and-dirty} remedy to an existing bug or misfeature.  A
  4897.    patch may or may not work, and may or may not eventually be
  4898.    incorporated permanently into the program.  Distinguished from a
  4899.    {diff} or {mod} by the fact that a patch is generated by more
  4900.    primitive means than the rest of the program; the classical
  4901.    examples are instructions modified by using the front panel
  4902.    switches, and changes made directly to the binary executable of a
  4903.    program originally written in an {HLL}.  Compare {one-line
  4904.    fix}.  2. vt. To insert a patch into a piece of code.  3. [in the
  4905.    UNIX world] n. A {diff} (sense 2).  4. A set of modifications to
  4906.    binaries to be applied by a patching program.  IBM operating
  4907.    systems often receive updates to the operating system in the form
  4908.    of absolute hexadecimal patches.  If you have modified your OS, you
  4909.    have to disassemble these back to the source.  The patches might
  4910.    later be corrected by other patches on top of them (patches were
  4911.    said to "grow scar tissue").  The result was often a convoluted
  4912.    {patch space} and headaches galore.  5. [UNIX] the
  4913.    `patch(1)' program, written by Larry Wall, which automatically
  4914.    applies a patch (sense 3) to a set of source code.
  4915.  
  4916.    There is a classic story of a {tiger team} penetrating a secure
  4917.    military computer that illustrates the danger inherent in binary
  4918.    patches (or, indeed, any that you can't --- or don't --- inspect
  4919.    and examine before installing).  They couldn't find any {trap
  4920.    door}s or any way to penetrate security of IBM's OS, so they made a
  4921.    site visit to an IBM office (remember, these were official military
  4922.    types who were purportedly on official business), swiped some IBM
  4923.    stationery, and created a fake patch.  The patch was actually the
  4924.    trapdoor they needed.  The patch was distributed at about the right
  4925.    time for an IBM patch, had official stationery and all accompanying
  4926.    documentation, and was dutifully installed.  The installation
  4927.    manager very shortly thereafter learned something about proper
  4928.    procedures.
  4929.  
  4930. :peek: n.,vt. (and {poke}) The commands in most microcomputer
  4931.    BASICs for directly accessing memory contents at an absolute
  4932.    address; often extended to mean the corresponding constructs in any
  4933.    {HLL} (peek reads memory, poke modifies it).  Much hacking on
  4934.    small, non-MMU micros consists of `peek'ing around memory, more
  4935.    or less at random, to find the location where the system keeps
  4936.    interesting stuff.  Long (and variably accurate) lists of such
  4937.    addresses for various computers circulate (see {{interrupt list,
  4938.    the}}).  The results of `poke's at these addresses may be highly
  4939.    useful, mildly amusing, useless but neat, or (most likely) total
  4940.    {lossage} (see {killer poke}).
  4941.  
  4942.    Since a {real operating system} provides useful, higher-level
  4943.    services for the tasks commonly performed with peeks and pokes on
  4944.    micros, and real languages tend not to encourage low-level memory
  4945.    groveling, a question like "How do I do a peek in C?" is
  4946.    diagnostic of the {newbie}.  (Of course, OS kernels often have to
  4947.    do exactly this; a real C hacker would unhesitatingly, if
  4948.    unportably, assign an absolute address to a pointer variable and
  4949.    indirect through it.)
  4950.  
  4951. :PIP: /pip/ [Peripheral Interchange Program] vt.,obs. To copy;
  4952.    from the program PIP on CP/M, RSX-11, RSTS/E, TOPS-10, and OS/8
  4953.    (derived from a utility on the PDP-6) that was used for file
  4954.    copying (and in OS/8 and RT-11 for just about every other file
  4955.    operation you might want to do).  It is said that when the program
  4956.    was originated, during the development of the PDP-6 in 1963, it was
  4957.    called ATLATL (`Anything, Lord, to Anything, Lord'; this played on
  4958.    the Nahuatl word `atlatl' for a spear-thrower, with connotations
  4959.    of utility and primitivity that were no doubt quite intentional).
  4960.  
  4961. :plokta: /plok't*/ [Acronym for `Press Lots Of Keys To Abort']
  4962.    v. To press random keys in an attempt to get some response from
  4963.    the system.  One might plokta when the abort procedure for a
  4964.    program is not known, or when trying to figure out if the system is
  4965.    just sluggish or really hung.  Plokta can also be used while trying
  4966.    to figure out any unknown key sequence for a particular operation.
  4967.    Someone going into `plokta mode' usually places both hands flat
  4968.    on the keyboard and presses down, hoping for some useful
  4969.    response.
  4970.  
  4971.    A slightly more directed form of plokta can often be seen in mail
  4972.    messages or USENET articles from new users --- the text might end
  4973.    with
  4974.  
  4975.              q  
  4976.              quit       
  4977.              :q 
  4978.              ^C 
  4979.              end        
  4980.              x  
  4981.              exit       
  4982.              ZZ 
  4983.              ^D 
  4984.              ?  
  4985.              help
  4986.  
  4987.    as the user vainly tries to find the right exit sequence, with the
  4988.    incorrect tries piling up at the end of the message....
  4989.  
  4990. :postmaster: n. The email contact and maintenance person at a site
  4991.    connected to the Internet or UUCPNET.  Often, but not always, the
  4992.    same as the {admin}.  The Internet standard for electronic mail
  4993.    ({RFC}-822) requires each machine to have a `postmaster' address;
  4994.    usually it is aliased to this person.
  4995.  
  4996. :raw mode: n. A mode that allows a program to transfer bits
  4997.    directly to or from an I/O device (or, under {bogus} systems
  4998.    that make a distinction, a disk file) without any processing,
  4999.    abstraction, or interpretation by the operating system.  Compare
  5000.    {rare mode}, {cooked mode}.  This is techspeak under UNIX,
  5001.    jargon elsewhere.
  5002.  
  5003. :README file: n. By convention, the top-level directory of a UNIX
  5004.    source distribution always contains a file named `README' (or
  5005.    READ.ME, or rarely ReadMe or some other variant), which is a
  5006.    hacker's-eye introduction containing a pointer to more detailed
  5007.    documentation, credits, miscellaneous revision history notes, etc.
  5008.    In the Mac and PC worlds, software is not usually distributed in
  5009.    source form and a README is more likely to contain user-oriented
  5010.    material like last-minute documentation changes, error workarounds,
  5011.    and restrictions.  When asked, hackers invariably relate the README
  5012.    convention to the famous scene in Lewis Carroll's `Alice's
  5013.    Adventures In Wonderland' in which Alice confronts magic munchies
  5014.    labeled "Eat Me" and "Drink Me".
  5015.  
  5016. :Red Book: n. 1. Informal name for one of the three standard
  5017.    references on {{PostScript}} (`PostScript Language Reference
  5018.    Manual', Adobe Systems (Addison-Wesley, 1985; QA76.73.P67P67; ISBN
  5019.    0-201-10174-2, or the 1990 second edition ISBN 0-201-18127-4); the
  5020.    others are known as the {Green Book}, the {Blue Book}, and
  5021.    the {White Book} (sense 2).  2. Informal name for one of the 3
  5022.    standard references on Smalltalk (`Smalltalk-80: The
  5023.    Interactive Programming Environment' by Adele Goldberg
  5024.    (Addison-Wesley, 1984; QA76.8.S635G638; ISBN 0-201-11372-4); this
  5025.    too is associated with blue and green books).  3. Any of the
  5026.    1984 standards issued by the CCITT eighth plenary assembly.  These
  5027.    include, among other things, the X.400 email spec and the Group
  5028.    1 through 4 fax standards.  4. The new version of the {Green
  5029.    Book} (sense 4) --- IEEE 1003.1-1990, a.k.a ISO 9945-1 --- is
  5030.    (because of the color and the fact that it is printed on A4 paper)
  5031.    known in the U.S.A. as "the Ugly Red Book That Won't Fit On The
  5032.    Shelf" and in Europe as "the Ugly Red Book That's A Sensible
  5033.    Size".  5. The NSA `Trusted Network Interpretation' companion
  5034.    to the {Orange Book}.  See also {{book titles}}.
  5035.  
  5036. :RFC: /R-F-C/ [Request For Comment] n. One of a long-es-tab-lished
  5037.    series of numbered Internet standards widely followed by commercial
  5038.    software and freeware in the Internet and UNIX communities.
  5039.    Perhaps the single most influential one has been RFC-822 (the
  5040.    Internet mail-format standard).  The RFCs are unusual in that they
  5041.    are floated by technical experts acting on their own initiative and
  5042.    reviewed by the Internet at large, rather than formally promulgated
  5043.    through an institution such as ANSI.  For this reason, they remain
  5044.    known as RFCs even once adopted.
  5045.  
  5046.    The RFC tradition of pragmatic, experience-driven, after-the-fact
  5047.    standard writing done by individuals or small working groups has
  5048.    important advantages over the more formal, committee-driven process
  5049.    typical of ANSI or ISO.  Emblematic of some of these is the
  5050.    existence of a flourishing tradition of `joke' RFCs; usually at
  5051.    least one a year is published, usually on April 1st.  Well-known
  5052.    joke RFCs have included 527 ("ARPAWOCKY", R. Merryman, UCSD; 22
  5053.    June 1973), 748 ("Telnet Randomly-Lose Option", Mark R. Crispin;
  5054.    1 April 1978), and 1149 ("A Standard for the Transmission of IP
  5055.    Datagrams on Avian Carriers", D. Waitzman, BBN STC; 1 April 1990).
  5056.    The first was a Lewis Carroll pastiche; the second a parody of the
  5057.    TCP-IP documentation style, and the third a deadpan skewering of
  5058.    standards-document legalese, describing protocols for transmitting
  5059.    Internet data packets by carrier pigeon.
  5060.  
  5061.    The RFCs are most remarkable for how well they work --- they manage to
  5062.    have neither the ambiguities that are usually rife in informal
  5063.    specifications, nor the committee-perpetrated misfeatures that often
  5064.    haunt formal standards, and they define a network that has grown to
  5065.    truly worldwide proportions.
  5066.  
  5067. :RTFS: /R-T-F-S/ [UNIX] 1. imp. Acronym for `Read The Fucking
  5068.    Source'.  Stronger form of {RTFM}, used when the problem
  5069.    at hand is not necessarily obvious and not available from
  5070.    the manuals --- or the manuals are not yet written and maybe
  5071.    never will be.  For even more tricky situations, see {RTFB}.
  5072.    2. imp. `Read The Fucking Standard'; this oath can only be used when
  5073.    the problem area (e.g., a language or operating system interface) has
  5074.    actually been codified in a ratified standards document.  The
  5075.    existence of these standards documents (and the technically
  5076.    inappropriate but politically mandated compromises that they
  5077.    inevitably contain, and the stifling language in which they are
  5078.    invariably written, and the unbelievably tedious bureaucratic process
  5079.    by which they are produced) can be unnerving to hackers, who are used
  5080.    to a certain amount of ambiguity in the specifications of the systems
  5081.    they use.  (Hackers feel that such ambiguities are acceptable as long
  5082.    as the {Right Thing} to do is obvious to any thinking observer;
  5083.    sadly, this casual attitude towards specifications becomes unworkable
  5084.    when a system becomes popular in the {Real World}.)  Since a hacker
  5085.    is likely to feel that a standards document is both unnecessary and
  5086.    technically deficient, the deprecation inherent in this term may be
  5087.    directed as much against the standard as against the person who ought
  5088.    to read it.
  5089.  
  5090. :smart terminal: n. 1. A terminal that has enough computing capability
  5091.    to render graphics or to offload some kind of front-end processing
  5092.    from the computer it talks to.  The development of workstations and
  5093.    personal computers has made this term and the product it describes
  5094.    semi-obsolescent, but one may still hear variants of the phrase
  5095.    `act like a smart terminal' used to describe the behavior of
  5096.    workstations or PCs with respect to programs that execute almost
  5097.    entirely out of a remote {server}'s storage, using said devices
  5098.    as displays.  Compare {glass tty}.  2. obs. Any terminal with an
  5099.    addressable cursor; the opposite of a {glass tty}.  Today, a
  5100.    terminal with merely an addressable cursor, but with none of the
  5101.    more-powerful features mentioned in sense 1, is called a {dumb
  5102.    terminal}.
  5103.  
  5104.    There is a classic quote from Rob Pike (inventor of the {blit}
  5105.    terminal): "A smart terminal is not a smart*ass* terminal,
  5106.    but rather a terminal you can educate."  This illustrates a common
  5107.    design problem: The attempt to make peripherals (or anything else)
  5108.    intelligent sometimes results in finicky, rigid `special
  5109.    features' that become just so much dead weight if you try to use
  5110.    the device in any way the designer didn't anticipate.  Flexibility
  5111.    and programmability, on the other hand, are *really* smart.
  5112.    Compare {hook}.
  5113.  
  5114. :sorcerer's apprentice mode: [from Friedrich Schiller's `Der
  5115.    Zauberlehrling' via the film "Fantasia"] n. A bug in a
  5116.    protocol where, under some circumstances, the receipt of a message
  5117.    causes multiple messages to be sent, each of which, when received,
  5118.    triggers the same bug.  Used esp. of such behavior caused by
  5119.    {bounce message} loops in {email} software.  Compare
  5120.    {broadcast storm}, {network meltdown}, {software
  5121.    laser}, {ARMM}.
  5122.  
  5123. :Stupids: n. Term used by {samurai} for the {suit}s who
  5124.    employ them; succinctly expresses an attitude at least as common,
  5125.    though usually better disguised, among other subcultures of
  5126.    hackers.  There may be intended reference here to an SF story
  5127.    originally published in 1952 but much anthologized since, Mark
  5128.    Clifton's `Star, Bright'.  In it, a super-genius child
  5129.    classifies humans into a very few `Brights' like herself, a huge
  5130.    majority of `Stupids', and a minority of `Tweens', the merely
  5131.    ordinary geniuses.
  5132.  
  5133. :syntactic sugar: [coined by Peter Landin] n. Features added to a
  5134.    language or other formalism to make it `sweeter' for humans,
  5135.    which do not affect the expressiveness of the formalism (compare
  5136.    {chrome}).  Used esp. when there is an obvious and trivial
  5137.    translation of the `sugar' feature into other constructs already
  5138.    present in the notation.  C's `a[i]' notation is syntactic
  5139.    sugar for `*(a + i)'.  "Syntactic sugar causes cancer of the
  5140.    semicolon." --- Alan Perlis.
  5141.  
  5142.    The variants `syntactic saccharin' and `syntactic syrup' are
  5143.    also recorded.  These denotes something even more gratuitous, in
  5144.    that syntactic sugar serves a purpose (making something more
  5145.    acceptable to humans), but syntactic saccharin or syrup serves no
  5146.    purpose at all.  Compare {candygrammar}, {syntactic salt}.
  5147.  
  5148. :TELNET: /tel'net/ vt. To communicate with another Internet host
  5149.    using the {TELNET} protocol (usually using a program of the same
  5150.    name).  TOPS-10 people used the word IMPCOM, since that was the
  5151.    program name for them.  Sometimes abbreviated to TN /T-N/.  "I
  5152.    usually TN over to SAIL just to read the AP News."
  5153.  
  5154. :terpri: /ter'pree/ [from LISP 1.5 (and later, MacLISP)] vi. To
  5155.    output a {newline}.  Now rare as jargon, though still used as
  5156.    techspeak in Common LISP.  It is a contraction of `TERminate PRInt
  5157.    line', named for the fact that, on some early OSes and hardware, no
  5158.    characters would be printed until a complete line was formed, so
  5159.    this operation terminated the line and emitted the output.
  5160.  
  5161. :thread: n. [USENET, GEnie, CompuServe] Common abbreviation of
  5162.    `topic thread', a more or less continuous chain of postings on a
  5163.    single topic.  To `follow a thread' is to read a series of USENET
  5164.    postings sharing a common subject or (more correctly) which are
  5165.    connected by Reference headers.  The better newsreaders present
  5166.    news in thread order.
  5167.  
  5168. :times-or-divided-by: [by analogy with `plus-or-minus'] quant.
  5169.    Term occasionally used when describing the uncertainty associated
  5170.    with a scheduling estimate, for either humorous or brutally honest
  5171.    effect.  For a software project, the scheduling uncertainty factor
  5172.    is usually at least 2.
  5173.  
  5174. :tits on a keyboard: n. Small bumps on certain keycaps to keep
  5175.    touch-typists registered (usually on the `5' of a numeric
  5176.    keypad, and on the `F' and `J' of a QWERTY keyboard; but
  5177.    the Mac, perverse as usual, has them on the `D' and `K'
  5178.    keys).
  5179.  
  5180. :TMRC: /tmerk'/ n. The Tech Model Railroad Club at MIT, one of
  5181.    the wellsprings of hacker culture.  The 1959 `Dictionary of
  5182.    the TMRC Language' compiled by Peter Samson included several terms
  5183.    that became basics of the hackish vocabulary (see esp. {foo},
  5184.    {mung}, and {frob}).
  5185.  
  5186.    By 1962, TMRC's legendary layout was already a marvel of complexity
  5187.    (and has grown in the thirty years since; all the features
  5188.    described here are still present).  The control system alone
  5189.    featured about 1200 relays.  There were {scram switch}es located
  5190.    at numerous places around the room that could be thwacked if
  5191.    something undesirable was about to occur, such as a train going
  5192.    full-bore at an obstruction.  Another feature of the system was a
  5193.    digital clock on the dispatch board, which was itself something of
  5194.    a wonder in those bygone days before cheap LEDS and seven-segment
  5195.    displays (no model railroad can begin to approximate the scale
  5196.    distances between towns and stations, so model railroad timetables
  5197.    assume a fast clock so that it seems to take about the right amount
  5198.    of time for a train to complete its journey).  When someone hit a
  5199.    scram switch the clock stopped and the display was replaced with the
  5200.    word `FOO'; at TMRC the scram switches are therefore called `foo
  5201.    switches'.
  5202.  
  5203.    Steven Levy, in his book `Hackers' (see the Bibliography in
  5204.    {Appendix C}), gives a stimulating account of those early
  5205.    years.  TMRC's Power and Signals group included most of the early
  5206.    PDP-1 hackers and the people who later bacame the core of the MIT
  5207.    AI Lab staff.  Thirty years later that connection is still very
  5208.    much alive, and this lexicon accordingly includes a number of
  5209.    entries from a recent revision of the TMRC dictionary.
  5210.  
  5211. :trap door: alt. `trapdoor' n. 1. Syn. {back door} --- a
  5212.    {Bad Thing}.  2. [techspeak] A `trap-door function' is one
  5213.    which is easy to compute but very difficult to compute the inverse
  5214.    of.  Such functions are {Good Thing}s with important
  5215.    applications in cryptography, specifically in the construction of
  5216.    public-key cryptosystems.
  5217.  
  5218. :tty: /T-T-Y/ [UNIX], /tit'ee/ [ITS, but some UNIX people say it
  5219.    this way as well; this pronunciation is not considered to have
  5220.    sexual undertones] n. 1. A terminal of the teletype variety,
  5221.    characterized by a noisy mechanical printer, a very limited
  5222.    character set, and poor print quality.  Usage: antiquated (like the
  5223.    TTYs themselves).  See also {bit-paired keyboard}.
  5224.    2. [especially UNIX] Any terminal at all; sometimes used to refer
  5225.    to the particular terminal controlling a given job.  3. [UNIX] Any
  5226.    serial port, whether or not the device connected to it is a
  5227.    terminal; so called because under UNIX such devices have names of
  5228.    the form tty*.  Ambiguity between senses 2 and 3 is common but
  5229.    seldom bothersome.
  5230.  
  5231. :uninteresting: adj. 1. Said of a problem that, although
  5232.    {nontrivial}, can be solved simply by throwing sufficient
  5233.    resources at it.  2. Also said of problems for which a solution
  5234.    would neither advance the state of the art nor be fun to design and
  5235.    code.
  5236.  
  5237.    Hackers regard uninteresting problems as intolerable wastes of
  5238.    time, to be solved (if at all) by lesser mortals.  *Real*
  5239.    hackers (see {toolsmith}) generalize uninteresting problems
  5240.    enough to make them interesting and solve them --- thus solving the
  5241.    original problem as a special case (and, it must be admitted,
  5242.    occasionally turning a molehill into a mountain, or a mountain into
  5243.    a tectonic plate).  See {WOMBAT}, {SMOP}; compare {toy
  5244.    problem}, oppose {interesting}.
  5245.  
  5246. :vadding: /vad'ing/ [from VAD, a permutation of ADV (i.e.,
  5247.    {ADVENT}), used to avoid a particular {admin}'s continual
  5248.    search-and-destroy sweeps for the game] n. A leisure-time activity
  5249.    of certain hackers involving the covert exploration of the
  5250.    `secret' parts of large buildings --- basements, roofs, freight
  5251.    elevators, maintenance crawlways, steam tunnels, and the like.  A
  5252.    few go so far as to learn locksmithing in order to synthesize
  5253.    vadding keys.  The verb is `to vad' (compare {phreaking}; see
  5254.    also {hack}, sense 9).  This term dates from the late 1970s,
  5255.    before which such activity was simply called `hacking'; the older
  5256.    usage is still prevalent at MIT.
  5257.  
  5258.    The most extreme and dangerous form of vadding is `elevator
  5259.    rodeo', a.k.a. `elevator surfing', a sport played by wrasslin'
  5260.    down a thousand-pound elevator car with a 3-foot piece of
  5261.    string, and then exploiting this mastery in various stimulating
  5262.    ways (such as elevator hopping, shaft exploration, rat-racing, and
  5263.    the ever-popular drop experiments).  Kids, don't try this at home! 
  5264.    See also {hobbit} (sense 2).
  5265.  
  5266. :VAX: /vaks/ n. 1. [from Virtual Address eXtension] The most
  5267.    successful minicomputer design in industry history, possibly
  5268.    excepting its immediate ancestor, the PDP-11.  Between its release
  5269.    in 1978 and its eclipse by {killer micro}s after about 1986, the
  5270.    VAX was probably the hacker's favorite machine of them all, esp.
  5271.    after the 1982 release of 4.2 BSD UNIX (see {BSD}).  Esp.
  5272.    noted for its large, assembler-programmer-friendly instruction set
  5273.    --- an asset that became a liability after the RISC revolution.
  5274.    2. A major brand of vacuum cleaner in Britain.  Cited here because
  5275.    its alleged sales pitch, "Nothing sucks like a VAX!" became a
  5276.    sort of battle-cry of RISC partisans.    It is even sometimes
  5277.    claimed that DEC actually entered a cross-licensing deal with the
  5278.    vacuum-Vax people that allowed them to market VAX computers in the
  5279.    U.K. in return for not challenging the vacuum cleaner trademark in
  5280.    the U.S.
  5281.  
  5282.    It is sometimes claimed that this slogan was *not* actually
  5283.    used by the Vax vacuum-cleaner people, but was actually that of a
  5284.    rival brand called Electrolux (as in "Nothing sucks like...").
  5285.    It's been reliably confirmed that Electrolux actually did use this
  5286.    slogan in the late 1960s; they're a Belgian company, and it apparently
  5287.    has become a classic example (used in textbooks) of the perils of
  5288.    not knowing the local idiom.
  5289.  
  5290.    It appears, however, that the Vax people thought the slogan a
  5291.    sufficiently good idea to copy it.  Several British hackers report
  5292.    that their promotions used it in 1986--1987, and we have one
  5293.    report from a New Zealander that it surfaced there in TV ads for
  5294.    the product as recently as 1992!
  5295.  
  5296. :virtual: [via the technical term `virtual memory', prob. from
  5297.    the term `virtual image' in optics] adj. 1. Common alternative
  5298.    to {logical}; often used to refer to the artificial objects
  5299.    created by a computer system to help the system control access to
  5300.    shared resources.  2. Simulated; performing the functions of
  5301.    something that isn't really there.  An imaginative child's doll may
  5302.    be a virtual playmate.  Oppose {real}.
  5303.  
  5304. :wabbit: /wab'it/ [almost certainly from Elmer Fudd's immortal
  5305.    line "You wascawwy wabbit!"] n. 1. A legendary early hack
  5306.    reported on a System/360 at RPI and elsewhere around 1978; this may
  5307.    have descended (if only by inspiration) from hack called RABBITS
  5308.    reported from 1969 on a Burroughs 55000 at the University of
  5309.    Washington Computer Center.  The program would make two copies of
  5310.    itself every time it was run, eventually crashing the system.
  5311.    2. By extension, any hack that includes infinite self-replication
  5312.    but is not a {virus} or {worm}.  See {fork bomb} and
  5313.    {rabbit job}, see also {cookie monster}.
  5314.  
  5315. :wall: [WPI] interj. 1. An indication of confusion, usually spoken
  5316.    with a quizzical tone:  "Wall??"  2. A request for further
  5317.    explication.  Compare {octal forty}.  3. [UNIX] v. To send a message
  5318.    to everyone currently logged in, esp. with the wall(8) utility.
  5319.  
  5320.    It is said that sense 1 came from the idiom `like talking to a
  5321.    blank wall'.  It was originally used in situations where, after you
  5322.    had carefully answered a question, the questioner stared at you
  5323.    blankly, clearly having understood nothing that was explained.  You
  5324.    would then throw out a "Hello, wall?" to elicit some sort of
  5325.    response from the questioner.  Later, confused questioners began
  5326.    voicing "Wall?" themselves.
  5327.  
  5328. :White Book: n. 1. Syn. {K&R}.  2. Adobe's fourth book in the
  5329.    PostScript series, describing the previously-secret format of Type
  5330.    1 fonts; `Adobe Type 1 Font Format, version 1.1',
  5331.    (Addison-Wesley, 1990, ISBN 0-201-57044-0). See also {Red Book},
  5332.    {Green Book}, {Blue Book}.
  5333.  
  5334. :Zork: /zork/ n. The second of the great early experiments in computer
  5335.    fantasy gaming; see {ADVENT}.  Originally written on MIT-DM
  5336.    during the late 1970s, later distributed with BSD UNIX (as a patched,
  5337.    sourceless RT-11 FORTRAN binary; see {retrocomputing}) and
  5338.    commercialized as `The Zork Trilogy' by Infocom.  The FORTRAN
  5339.    source was later rewritten for portability and released to USENET
  5340.    under the name "Dungeon".  Both FORTRAN "Dungeon" and
  5341.    translated C versions are available at many FTP sites.
  5342.  
  5343.  
  5344. ************** Changed entries in 2.9.11 ***************
  5345.  
  5346. :arena: [UNIX] n. The area of memory attached to a process by
  5347.    `brk(2)' and `sbrk(2)' and used by `malloc(3)' as
  5348.    dynamic storage.  So named from a `malloc: corrupt arena'
  5349.    message emitted when some early versions detected an impossible
  5350.    value in the free block list.  See {overrun screw}, {aliasing
  5351.    bug}, {memory leak}, {memory smash}, {smash the
  5352.    stack}.
  5353.  
  5354. :BIFF: /bif/ [USENET] n. The most famous {pseudo}, and the
  5355.    prototypical {newbie}.  Articles from BIFF are characterized by
  5356.    all uppercase letters sprinkled liberally with bangs, typos,
  5357.    `cute' misspellings (EVRY BUDY LUVS GOOD OLD BIFF CUZ HE"S A
  5358.    K00L DOOD AN HE RITES REEL AWESUM THINGZ IN CAPITULL LETTRS LIKE
  5359.    THIS!!!), use (and often misuse) of fragments of {talk mode}
  5360.    abbreviations, a long {sig block} (sometimes even a {doubled
  5361.    sig}), and unbounded naivet'e.  BIFF posts articles using his
  5362.    elder brother's VIC-20.  BIFF's location is a mystery, as his
  5363.    articles appear to come from a variety of sites.  However,
  5364.    {BITNET} seems to be the most frequent origin.  The theory that
  5365.    BIFF is a denizen of BITNET is supported by BIFF's (unfortunately
  5366.    invalid) electronic mail address: BIFF@BIT.NET.
  5367.  
  5368.    [1993: Now It Can Be Told!  My spies inform me that BIFF was
  5369.    originally created by Joe Talmadge <jat@cup.hp.com>, also the
  5370.    author of the infamous and much-plagiarized "Flamer's Bible".
  5371.    The BIFF filter he wrote was later passed to Richard Sexton, who
  5372.    posted BIFFisms much more widely.  Versions have since been posted
  5373.    for the amusement of the net at large. --- ESR]
  5374.  
  5375. :blit: /blit/ vt. 1. To copy a large array of bits from one part
  5376.    of a computer's memory to another part, particularly when the
  5377.    memory is being used to determine what is shown on a display
  5378.    screen.  "The storage allocator picks through the table and copies
  5379.    the good parts up into high memory, and then blits it all back down
  5380.    again."  See {bitblt}, {BLT}, {dd}, {cat}, {blast},
  5381.    {snarf}.  More generally, to perform some operation (such as
  5382.    toggling) on a large array of bits while moving them.  2. Sometimes
  5383.    all-capitalized as `BLIT': an early experimental bit-mapped
  5384.    terminal designed by Rob Pike at Bell Labs, later commercialized as
  5385.    the AT&T 5620.  (The folk etymology from `Bell Labs Intelligent
  5386.    Terminal' is incorrect.  Its creators liked to claim that "Blit"
  5387.    stood for the Bacon, Lettuce, and Interactive Tomato.)
  5388.  
  5389. :blivet: /bliv'*t/ [allegedly from a World War II military term
  5390.    meaning "ten pounds of manure in a five-pound bag"] n. 1. An
  5391.    intractable problem.  2. A crucial piece of hardware that can't be
  5392.    fixed or replaced if it breaks.  3. A tool that has been hacked
  5393.    over by so many incompetent programmers that it has become an
  5394.    unmaintainable tissue of hacks.  4. An out-of-control but
  5395.    unkillable development effort.  5. An embarrassing bug that pops up
  5396.    during a customer demo.  6. In the subjargon of computer security
  5397.    specialists, a denial-of-service attack performed by hogging
  5398.    limited resources that have no access controls (for example, shared
  5399.    spool space on a multi-user system).
  5400.  
  5401.    This term has other meanings in other technical cultures; among
  5402.    experimental physicists and hardware engineers of various kinds it
  5403.    seems to mean any random object of unknown purpose (similar to
  5404.    hackish use of {frob}).  It has also been used to describe an
  5405.    amusing trick-the-eye drawing resembling a three-pronged fork that
  5406.    appears to depict a three-dimensional object until one realizes
  5407.    that the parts fit together in an impossible way.
  5408.  
  5409. :breath-of-life packet: [XEROX PARC] n. An Ethernet packet that
  5410.    contains bootstrap (see {boot}) code, periodically sent out
  5411.    from a working computer to infuse the `breath of life' into any
  5412.    computer on the network that has happened to crash.  Machines
  5413.    depending on such packets have sufficient hardware or firmware code
  5414.    to wait for (or request) such a packet during the reboot process.
  5415.    See also {dickless workstation}.
  5416.  
  5417.    The `kiss-of-death packet', with a function complementary to that of
  5418.    a breath-of-life packet, is recommended for dealing with hosts that
  5419.    consume too many network resources.  There is at least one documented
  5420.    instance of an Internet subnet with limited addres-table slots in a
  5421.    gateway machine in which kiss-of-death packets were routinely used 
  5422.    to compete for slots, rather like Christmas shoppers competing for
  5423.    scarce parking spaces.
  5424.  
  5425. :Great Renaming: n. The {flag day} in 1985 on which all of the
  5426.    non-local groups on the {USENET} had their names changed from
  5427.    the net.- format to the current multiple-hierarchies scheme.  Used
  5428.    esp. in discussing the history of newsgroup names.  "The oldest
  5429.    sources group is comp.sources.misc; before the Great Renaming,
  5430.    it was net.sources."
  5431.  
  5432. :If you want X, you know where to find it.: There is a legend that
  5433.    Dennis Ritchie, inventor of {C}, once responded to demands for
  5434.    features resembling those of what at the time was a much more
  5435.    popular language by observing "If you want PL/I, you know where to
  5436.    find it."  Ever since, this has been hackish standard form for
  5437.    fending off requests to alter a new design to mimic some older
  5438.    (and, by implication, inferior and {baroque}) one.  The case X =
  5439.    {Pascal} manifests semi-regularly on USENET's comp.lang.c
  5440.    newsgroup.  Indeed, the case X = X has been reported in
  5441.    discussions of graphics software (see {X}).
  5442.  
  5443. :Imminent Death Of The Net Predicted!: [USENET] prov.  Since
  5444.    {USENET} first got off the ground in 1980--81, it has grown
  5445.    exponentially, approximately doubling in size every year.  On the
  5446.    other hand, most people feel the {signal-to-noise ratio} of
  5447.    USENET has dropped steadily.  These trends led, as far back as
  5448.    mid-1983, to predictions of the imminent collapse (or death) of the
  5449.    net.  Ten years and numerous doublings later, enough of these
  5450.    gloomy prognostications have been confounded that the phrase
  5451.    "Imminent Death Of The Net Predicted!" has become a running joke,
  5452.    hauled out any time someone grumbles about the {S/N ratio} or
  5453.    the huge and steadily increasing volume or the possible loss of a
  5454.    key node or link, or the potential for lawsuits when ignoramuses
  5455.    post copyrighted material, etc., etc., etc.
  5456.  
  5457. :KIBO: /ki:'boh/ 1. [acronym] Knowledge In, Bullshit Out.  A
  5458.    summary of what happens whenever valid data is passed through an
  5459.    organization (or person) that deliberately or accidentally
  5460.    disregards or ignores its significance.  Consider, for example,
  5461.    what an advertising campaign can do with a product's actual
  5462.    specifications.  Compare {GIGO}; see also {SNAFU principle}.
  5463.    2. James Parry <kibo@world.std.com>, a USENETter infamous for
  5464.    various surrealist net.pranks and an uncanny, machine-assisted
  5465.    knack for joining any thread in which his nom de guerre is
  5466.    mentioned.
  5467.  
  5468. :Moof: /moof/ [MAC users] 1. n. A semi-legendary creature, also
  5469.    called the `dogcow', that lurks in the depths of the Macintosh
  5470.    Technical Notes Hypercard stack V3.1; specifically, the full story
  5471.    of the dogcow is told in technical note #31 (the particular Moof
  5472.    illustrated is properly named `Clarus').  Option-shift-click will
  5473.    cause it to emit a characteristic `Moof!' or `!fooM' sound.
  5474.    *Getting* to tech note 31 is the hard part; to discover how to
  5475.    do that, one must needs examine the stack script with a hackerly
  5476.    eye.  Clue: {rot13} is involved.  A dogcow also appears if you
  5477.    choose `Page Setup...' with a LaserWriter selected and click on
  5478.    the `Options' button.  2. adj. Used to flag software that's a hack,
  5479.    something untested and on the edge.  On one Apple CD-ROM, certain
  5480.    folders such as "Tools & Apps (Moof!)" and "Development
  5481.    Platforms (Moof!)", are so marked to indicate that they contain
  5482.    software not fully tested or sanctioned by the powers that be.
  5483.    When you open these folders you cross the boundary into
  5484.    hackerland.
  5485.  
  5486. :plan file: [UNIX] n. On systems that support {finger}, the
  5487.    `.plan' file in a user's home directory is displayed when the user
  5488.    is fingered.  This feature was originally intended to be used to
  5489.    keep potential fingerers apprised of one's location and near-future
  5490.    plans, but has been turned almost universally to humorous and
  5491.    self-expressive purposes (like a {sig block}).  See {Hacking X
  5492.    for Y}.
  5493.  
  5494.    A recent innovation in plan files has been the introduction of
  5495.    "scrolling plan files" which are one-dimensional animations made
  5496.    using only the printable ASCII character set, carriage return and
  5497.    line feed, avoiding terminal specific escape sequences, since the
  5498.    {finger} command will (for security) not pass the escape
  5499.    character.
  5500.  
  5501.    Scrolling .plan files have become art forms in miniature, and some
  5502.    sites have started competitions to find who can create the longest
  5503.    running, funniest, and most original animations.  Various animation
  5504.    characters include:
  5505.  
  5506.      Centipede:
  5507.           mmmmme
  5508.      Lorry/Truck:
  5509.           oo-oP
  5510.      Andalusian Video Snail:
  5511.           _@/
  5512.  
  5513.    and a compiler (ASP) is available on USENET for producing them.
  5514.  
  5515. :Real Programmer: [indirectly, from the book `Real Men Don't
  5516.    Eat Quiche'] n. A particular sub-variety of hacker: one possessed
  5517.    of a flippant attitude toward complexity that is arrogant even when
  5518.    justified by experience.  The archetypal `Real Programmer' likes
  5519.    to program on the {bare metal} and is very good at same,
  5520.    remembers the binary opcodes for every machine he has ever
  5521.    programmed, thinks that HLLs are sissy, and uses a debugger to edit
  5522.    his code because full-screen editors are for wimps.  Real
  5523.    Programmers aren't satisfied with code that hasn't been {bum}med
  5524.    into a state of {tense}ness just short of rupture.  Real
  5525.    Programmers never use comments or write documentation: "If it was
  5526.    hard to write", says the Real Programmer, "it should be hard to
  5527.    understand."  Real Programmers can make machines do things that
  5528.    were never in their spec sheets; in fact, they are seldom really
  5529.    happy unless doing so.  A Real Programmer's code can awe with its
  5530.    fiendish brilliance, even as its crockishness appalls.  Real
  5531.    Programmers live on junk food and coffee, hang line-printer art on
  5532.    their walls, and terrify the crap out of other programmers ---
  5533.    because someday, somebody else might have to try to understand
  5534.    their code in order to change it.  Their successors generally
  5535.    consider it a {Good Thing} that there aren't many Real
  5536.    Programmers around any more.  For a famous (and somewhat more
  5537.    positive) portrait of a Real Programmer, see "{The Story
  5538.    of Mel, a Real Programmer}" in {Appendix A}.  The term itself
  5539.    was popularized by a 1983 Datamation article "Real
  5540.    Programmers Don't Use Pascal" by Ed Post, still circulating on
  5541.    USENET and Internet in on-line form.
  5542.  
  5543. :retcon: /ret'kon/ [short for `retroactive continuity', from
  5544.    the USENET newsgroup rec.arts.comics] 1. n. The common
  5545.    situation in pulp fiction (esp. comics or soap operas) where a
  5546.    new story `reveals' things about events in previous stories,
  5547.    usually leaving the `facts' the same (thus preserving
  5548.    continuity) while completely changing their interpretation.  For
  5549.    example, revealing that a whole season of "Dallas" was a
  5550.    dream was a retcon.  2. vt. To write such a story about a character
  5551.    or fictitious object.  "Byrne has retconned Superman's cape so
  5552.    that it is no longer unbreakable."  "Marvelman's old adventures
  5553.    were retconned into synthetic dreams."  "Swamp Thing was
  5554.    retconned from a transformed person into a sentient vegetable."
  5555.    "Darth Vader was retconned into Luke Skywalker's father in
  5556.    "The Empire Strikes Back".
  5557.  
  5558.    [This is included because it is a good example of hackish
  5559.    linguistic innovation in a field completely unrelated to computers.
  5560.    The word `retcon' will probably spread through comics fandom and
  5561.    lose its association with hackerdom within a couple of years; for
  5562.    the record, it started here. --- ESR]
  5563.  
  5564.    [1993 update: some comics fans on the net now claim that retcon was
  5565.    independently in use in comics fandom before rec.arts.comics.
  5566.    In lexicography, nothing is ever simple. --- ESR]
  5567.  
  5568. :Wizard Book: n. Hal Abelson's, Jerry Sussman's and Julie Sussman's
  5569.    `Structure and Interpretation of Computer Programs' (MIT
  5570.    Press, 1984; ISBN 0-262-01077-1), an excellent computer science text
  5571.    used in introductory courses at MIT.  So called because of the
  5572.    wizard on the jacket.  One of the {bible}s of the LISP/Scheme
  5573.    world.  Also, less commonly, known as the {Purple Book}.
  5574.  
  5575. :workaround: n. 1. A temporary {kluge} inserted in a system
  5576.    under development or test in order to avoid the effects of a
  5577.    {bug} or {misfeature} so that work can continue.
  5578.    Theoretically, workarounds are always replaced by {fix}es; in
  5579.    practice, customers often find themselves living with workarounds
  5580.    in the first couple of releases.  "The code died on NUL characters
  5581.    in the input, so I fixed it to interpret them as spaces."
  5582.    "That's not a fix, that's a workaround!"  2. A procedure to be
  5583.    employed by the user in order to do what some currently non-working
  5584.    feature should do.  Hypothetical example: "Using META-F7 {crash}es
  5585.    the 4.43 build of Weemax, but as a workaround you can type CTRL-R,
  5586.    then SHIFT-F5, and delete the remaining {cruft} by hand."
  5587.  
  5588. :Zork: /zork/ n. The second of the great early experiments in computer
  5589.    fantasy gaming; see {ADVENT}.  Originally written on MIT-DM
  5590.    during the late 1970s, later distributed with BSD UNIX (as a patched,
  5591.    sourceless RT-11 FORTRAN binary; see {retrocomputing}) and
  5592.    commercialized as `The Zork Trilogy' by Infocom.  The FORTRAN
  5593.    source was later rewritten for portability and released to USENET
  5594.    under the name "Dungeon".  Both FORTRAN "Dungeon" and
  5595.    translated C versions are available at many FTP sites.
  5596.  
  5597.  
  5598. ************** Changed entries in 2.9.12 ***************
  5599.  
  5600. :alt: /awlt/ 1. n. The alt shift key on an IBM PC or {clone}
  5601.    keyboard; see {bucky bits}, sense 2 (though typical PC usage does
  5602.    not simply set the 0200 bit).  2. n. The `clover' or `Command'
  5603.    key on a Macintosh; use of this term usually reveals that the
  5604.    speaker hacked PCs before coming to the Mac (see also {feature
  5605.    key}).  Some Mac hackers, confusingly, reserve `alt' for the Option
  5606.    key (and it is so labeled on some Mac II keyboards).  3. n.obs.
  5607.    [PDP-10; often capitalized to ALT] Alternate name for the ASCII
  5608.    ESC character (ASCII 0011011), after the keycap labeling on some
  5609.    older terminals; also `altmode' (/awlt'mohd/).  This character
  5610.    was almost never pronounced `escape' on an ITS system, in
  5611.    {TECO}, or under TOPS-10 --- always alt, as in "Type alt alt to
  5612.    end a TECO command" or "alt-U onto the system" (for "log onto
  5613.    the [ITS] system").  This usage probably arose because alt is more
  5614.    convenient to say than `escape', especially when followed by
  5615.    another alt or a character (or another alt *and* a character,
  5616.    for that matter).
  5617.  
  5618. :alt: /awlt/ 1. n. The alt shift key on an IBM PC or {clone}
  5619.    keyboard; see {bucky bits}, sense 2 (though typical PC usage does
  5620.    not simply set the 0200 bit).  2. n. The `clover' or `Command'
  5621.    key on a Macintosh; use of this term usually reveals that the
  5622.    speaker hacked PCs before coming to the Mac (see also {feature
  5623.    key}).  Some Mac hackers, confusingly, reserve `alt' for the Option
  5624.    key (and it is so labeled on some Mac II keyboards).  3. n.obs.
  5625.    [PDP-10; often capitalized to ALT] Alternate name for the ASCII
  5626.    ESC character (ASCII 0011011), after the keycap labeling on some
  5627.    older terminals; also `altmode' (/awlt'mohd/).  This character
  5628.    was almost never pronounced `escape' on an ITS system, in
  5629.    {TECO}, or under TOPS-10 --- always alt, as in "Type alt alt to
  5630.    end a TECO command" or "alt-U onto the system" (for "log onto
  5631.    the [ITS] system").  This usage probably arose because alt is more
  5632.    convenient to say than `escape', especially when followed by
  5633.    another alt or a character (or another alt *and* a character,
  5634.    for that matter).
  5635.  
  5636. :angle brackets: n. Either of the characters `<' (ASCII
  5637.    0111100) and `>' (ASCII 0111110) (ASCII less-than or
  5638.    greater-than signs).  Typographers in the {Real World} use angle
  5639.    brackets which are either taller and slimmer (the ISO `Bra' and
  5640.    `Ket' characters), or significantly smaller (single or double
  5641.    guillemets) than the less-than and greater-than signs.
  5642.    See {broket}, {{ASCII}}.
  5643.  
  5644. :app: /ap/ n. Short for `application program', as opposed to a
  5645.    systems program.  Apps are what systems vendors are forever chasing
  5646.    developers to create for their environments so they can sell more
  5647.    boxes.  Hackers tend not to think of the things they themselves run
  5648.    as apps; thus, in hacker parlance the term excludes compilers,
  5649.    program editors, games, and messaging systems, though a user would
  5650.    consider all those to be apps.  (Broadly, an app is often a
  5651.    self-contained environment for performing some well-defined task
  5652.    such as `word processing'; hackers tend to prefer more
  5653.    general-purpose tools.) Oppose {tool}, {operating
  5654.    system}.
  5655.  
  5656. :BASIC: [acronym, from Beginner's All-purpose Symbolic Instruction
  5657.    Code] n. A programming language, originally designed for
  5658.    Dartmouth's experimental timesharing system in the early 1960s,
  5659.    which has since become the leading cause of brain-damage in
  5660.    proto-hackers.  This is another case (like {Pascal}) of the
  5661.    cascading lossage that happens when a language deliberately
  5662.    designed as an educational toy gets taken too seriously.  A novice
  5663.    can write short BASIC programs (on the order of 10--20 lines) very
  5664.    easily; writing anything longer is (a) very painful, and (b)
  5665.    encourages bad habits that will make it harder to use more powerful
  5666.    languages well.  This wouldn't be so bad if historical accidents
  5667.    hadn't made BASIC so common on low-end micros.  As it is, it ruins
  5668.    thousands of potential wizards a year.
  5669.  
  5670. :Berkeley Quality Software: adj. (often abbreviated `BQS') Term used
  5671.    in a pejorative sense to refer to software that was apparently
  5672.    created by rather spaced-out hackers late at night to solve some
  5673.    unique problem.  It usually has nonexistent, incomplete, or
  5674.    incorrect documentation, has been tested on at least two examples,
  5675.    and core dumps when anyone else attempts to use it.  This term was
  5676.    frequently applied to early versions of the `dbx(1)' debugger.
  5677.    See also {Berzerkeley}.
  5678.  
  5679.    Note to British and Commonwealth readers: that's /berk'lee/, not
  5680.    /bark'lee/ as in British Received Pronunciation.
  5681.  
  5682. :boat anchor: n. 1. Like {doorstop} but more severe; implies
  5683.    that the offending hardware is irreversibly dead or useless.
  5684.    "That was a working motherboard once.  One lightning strike later,
  5685.    instant boat anchor!"  2. A person who just takes up space.
  5686.    3. (affectionate) Obsolete but still working hardware, especially
  5687.    used of an old S100-bus hobbyist system; originally a term of
  5688.    annoyance, but became more and more affectionate as the hardware
  5689.    became more and more obsolete.
  5690.  
  5691. :brute force: adj. Describes a primitive programming style, one in
  5692.    which the programmer relies on the computer's processing power
  5693.    instead of using his or her own intelligence to simplify the
  5694.    problem, often ignoring problems of scale and applying naive
  5695.    methods suited to small problems directly to large ones.  The term
  5696.    can also be used in reference to programming style: brute-force
  5697.    programs are written in a heavyhanded, tedious way, full of
  5698.    repetition and devoid of any elegance or useful abstraction (see
  5699.    also {brute force and ignorance}).
  5700.  
  5701.    The {canonical} example of a brute-force algorithm is associated
  5702.    with the `traveling salesman problem' (TSP), a classical
  5703.    {NP-}hard problem: Suppose a person is in, say, Boston, and
  5704.    wishes to drive to N other cities.  In what order should the
  5705.    cities be visited in order to minimize the distance travelled?  The
  5706.    brute-force method is to simply generate all possible routes and
  5707.    compare the distances; while guaranteed to work and simple to
  5708.    implement, this algorithm is clearly very stupid in that it
  5709.    considers even obviously absurd routes (like going from Boston to
  5710.    Houston via San Francisco and New York, in that order).  For very
  5711.    small N it works well, but it rapidly becomes absurdly
  5712.    inefficient when N increases (for N = 15, there are
  5713.    already 1,307,674,368,000 possible routes to consider, and for
  5714.    N = 1000 --- well, see {bignum}).  Sometimes,
  5715.    unfortunately, there is no better general solution than brute
  5716.    force.  See also {NP-}.
  5717.  
  5718.    A more simple-minded example of brute-force programming is finding
  5719.    the smallest number in a large list by first using an existing
  5720.    program to sort the list in ascending order, and then picking the
  5721.    first number off the front.
  5722.  
  5723.    Whether brute-force programming should actually be considered
  5724.    stupid or not depends on the context; if the problem is not
  5725.    terribly big, the extra CPU time spent on a brute-force solution
  5726.    may cost less than the programmer time it would take to develop a
  5727.    more `intelligent' algorithm.  Additionally, a more intelligent
  5728.    algorithm may imply more long-term complexity cost and bug-chasing
  5729.    than are justified by the speed improvement.
  5730.  
  5731.    Ken Thompson, co-inventor of UNIX, is reported to have uttered the
  5732.    epigram "When in doubt, use brute force".  He probably intended
  5733.    this as a {ha ha only serious}, but the original UNIX kernel's
  5734.    preference for simple, robust, and portable algorithms over
  5735.    {brittle} `smart' ones does seem to have been a significant
  5736.    factor in the success of that OS.  Like so many other tradeoffs in
  5737.    software design, the choice between brute force and complex,
  5738.    finely-tuned cleverness is often a difficult one that requires both
  5739.    engineering savvy and delicate esthetic judgment.
  5740.  
  5741. :bucky bits: /buh'kee bits/ n. 1. obs. The bits produced by the
  5742.    CONTROL and META shift keys on a SAIL keyboard (octal 200 and 400
  5743.    respectively), resulting in a 9-bit keyboard character set.  The
  5744.    MIT AI TV (Knight) keyboards extended this with TOP and separate
  5745.    left and right CONTROL and META keys, resulting in a 12-bit
  5746.    character set; later, LISP Machines added such keys as SUPER,
  5747.    HYPER, and GREEK (see {space-cadet keyboard}).  2. By extension,
  5748.    bits associated with `extra' shift keys on any keyboard, e.g.,
  5749.    the ALT on an IBM PC or command and option keys on a Macintosh.
  5750.  
  5751.    It has long been rumored that `bucky bits' were named for
  5752.    Buckminster Fuller during a period when he was consulting at
  5753.    Stanford.  Actually, bucky bits were invented by Niklaus Wirth when
  5754.    *he* was at Stanford; he first suggested the idea of an EDIT
  5755.    key to set the 8th bit of an otherwise 7-bit ASCII character.  This
  5756.    was used in a number of editors written at Stanford or in its
  5757.    environs (TV-EDIT and NLS being the best-known).  Some sources
  5758.    claim that `Bucky' was Niklaus Wirth's nickname st Stanford,
  5759.    but Wirth himself does not recall this.
  5760.  
  5761.    Whatever its origins, the term spread to MIT and CMU early and is
  5762.    now in general use.  See {double bucky}, {quadruple
  5763.    bucky}.
  5764.  
  5765. :burble: [from Lewis Carroll's "Jabberwocky"] v. Like {flame},
  5766.    but connotes that the source is truly clueless and ineffectual
  5767.    (mere flamers can be competent).  A term of deep contempt.
  5768.    "There's some guy on the phone burbling about how he got a DISK
  5769.    FULL error and it's all our comm software's fault."  This
  5770.    is mainstream slang in some parts of England.
  5771.  
  5772. :by hand: adv. 1. Said of an operation (especially a repetitive,
  5773.    trivial, and/or tedious one) that ought to be performed
  5774.    automatically by the computer, but which a hacker instead has to
  5775.    step tediously through.  "My mailer doesn't have a command to
  5776.    include the text of the message I'm replying to, so I have to do it
  5777.    by hand."  This does not necessarily mean the speaker has to
  5778.    retype a copy of the message; it might refer to, say, dropping into
  5779.    a subshell from the mailer, making a copy of one's mailbox
  5780.    file, reading that into an editor, locating the top and bottom of
  5781.    the message in question, deleting the rest of the file, inserting
  5782.    `>' characters on each line, writing the file, leaving the editor,
  5783.    returning to the mailer, reading the file in, and later remembering
  5784.    to delete the file.  Compare {eyeball search}.  2. By extension,
  5785.    writing code which does something in an explicit or low-level way
  5786.    for which a presupplied library routine ought to have been
  5787.    available.  "This cretinous B-tree library doesn't supply a decent
  5788.    iterator, so I'm having to walk the trees by hand."
  5789.  
  5790. :byte:: /bi:t/ [techspeak] n. A unit of memory or data equal to
  5791.    the amount used to represent one character; on modern architectures
  5792.    this is usually 8 bits, but may be 9 on 36-bit machines.  Some
  5793.    older architectures used `byte' for quantities of 6 or 7 bits, and
  5794.    the PDP-10 supported `bytes' that were actually bitfields of
  5795.    1 to 36 bits!  These usages are now obsolete, and even 9-bit bytes
  5796.    have become rare in the general trend toward power-of-2 word sizes.
  5797.  
  5798.    Historical note: The term was coined by Werner Buchholz in 1956
  5799.    during the early design phase for the IBM Stretch computer;
  5800.    originally it was described as 1 to 6 bits (typical I/O equipment
  5801.    of the period used 6-bit chunks of information).  The move to an
  5802.    8-bit byte happened in late 1956, and this size was later adopted
  5803.    and promulgated as a standard by the System/360.  The word was
  5804.    coined by mutating the word `bite' so it would not be
  5805.    accidentally misspelled as {bit}.  See also {nybble}.
  5806.  
  5807. :can: vt. To abort a job on a time-sharing system.  Used esp. when the
  5808.    person doing the deed is an operator, as in "canned from the
  5809.    {{console}}".  Frequently used in an imperative sense, as in "Can
  5810.    that print job, the LPT just popped a sprocket!"  Synonymous with
  5811.    {gun}.  It is said that the ASCII character with mnemonic CAN
  5812.    (0011000) was used as a kill-job character on some early OSes.
  5813.    Alternatively, this may derive from mainstream slang `canned' for
  5814.    being laid off or fired.
  5815.  
  5816. :chicken head: [Commodore] n. The Commodore Business Machines logo,
  5817.    which strongly resembles a poultry part.  Rendered in ASCII as
  5818.    `C='.  With the arguable exception of the Amiga (see {amoeba}),
  5819.    Commodore's machines are notoriously crocky little {bitty box}es
  5820.    (see also {PETSCII}).  Thus, this usage may owe something to
  5821.    Philip K. Dick's novel `Do Androids Dream of Electric Sheep?'
  5822.    (the basis for the movie `Blade Runner'; the novel is now sold
  5823.    under that title), in which a `chickenhead' is a mutant with
  5824.    below-average intelligence.
  5825.  
  5826. :Commonwealth Hackish:: n. Hacker jargon as spoken outside
  5827.    the U.S., esp. in the British Commonwealth.  It is reported that
  5828.    Commonwealth speakers are more likely to pronounce truncations like
  5829.    `char' and `soc', etc., as spelled (/char/, /sok/), as
  5830.    opposed to American /keir/ and /sohsh/.  Dots in {newsgroup}
  5831.    names tend to be pronounced more often (so soc.wibble is /sok dot
  5832.    wib'l/ rather than /sohsh wib'l/).  The prefix {meta} may be
  5833.    pronounced /mee't*/; similarly, Greek letter beta is usually
  5834.    /bee't*/, zeta is usually /zee't*/, and so forth.  Preferred
  5835.    {metasyntactic variable}s include {blurgle}, `eek',
  5836.    `ook', `frodo', and `bilbo'; `wibble',
  5837.    `wobble', and in emergencies `wubble'; `banana',
  5838.    `tom', `dick', `harry', `wombat', `frog',
  5839.    {fish}, and so on and on (see {foo}, sense 4).
  5840.  
  5841.    Alternatives to verb doubling include suffixes `-o-rama',
  5842.    `frenzy' (as in feeding frenzy), and `city' (examples: "barf
  5843.    city!"  "hack-o-rama!"  "core dump frenzy!").  Finally, note
  5844.    that the American terms `parens', `brackets', and `braces' for (),
  5845.    [], and {} are uncommon; Commonwealth hackish prefers
  5846.    `brackets', `square brackets', and `curly brackets'.  Also, the
  5847.    use of `pling' for {bang} is common outside the United States.
  5848.  
  5849.    See also {attoparsec}, {calculator}, {chemist},
  5850.    {console jockey}, {fish}, {go-faster stripes},
  5851.    {grunge}, {hakspek}, {heavy metal}, {leaky heap},
  5852.    {lord high fixer}, {loose bytes}, {muddie}, {nadger},
  5853.    {noddy}, {psychedelicware}, {plingnet}, {raster
  5854.    blaster}, {RTBM}, {seggie}, {spod}, {sun lounge},
  5855.    {terminal junkie}, {tick-list features}, {weeble},
  5856.    {weasel}, {YABA}, and notes or definitions under {Bad
  5857.    Thing}, {barf}, {bogus}, {bum}, {chase pointers},
  5858.    {cosmic rays}, {crippleware}, {crunch}, {dodgy},
  5859.    {gonk}, {hamster}, {hardwarily}, {mess-dos},
  5860.    {nybble}, {proglet}, {root}, {SEX}, {tweak}, and
  5861.    {xyzzy}.
  5862.  
  5863. :condom: n. 1. The protective plastic bag that accompanies 3.5-inch
  5864.    microfloppy diskettes.  Rarely, also used of (paper) disk
  5865.    envelopes.  Unlike the write protect tab, the condom (when left on)
  5866.    not only impedes the practice of {SEX} but has also been shown
  5867.    to have a high failure rate as drive mechanisms attempt to access
  5868.    the disk --- and can even fatally frustrate insertion.  2. The
  5869.    protective cladding on a {light pipe}.  3. `keyboard condom':
  5870.    A flexible, transparent plastic cover for a keyboard, designed to
  5871.    provide some protection against dust and {programming fluid} without
  5872.    impeding typing.
  5873.  
  5874. :core: n. Main storage or RAM.  Dates from the days of
  5875.    ferrite-core memory; now archaic as techspeak most places outside
  5876.    IBM, but also still used in the UNIX community and by old-time
  5877.    hackers or those who would sound like them.  Some derived idioms
  5878.    are quite current; `in core', for example, means `in memory'
  5879.    (as opposed to `on disk'), and both {core dump} and the `core
  5880.    image' or `core file' produced by one are terms in favor.  Some
  5881.    varieties of Commonwealth hackish prefer {store}.
  5882.  
  5883. :crock: [from the American scatologism crock of shit] n. 1. An
  5884.    awkward feature or programming technique that ought to be made
  5885.    cleaner.  For example, using small integers to represent error
  5886.    codes without the program interpreting them to the user (as in, for
  5887.    example, UNIX `make(1)', which returns code 139 for a process
  5888.    that dies due to {segfault}).  2. A technique that works
  5889.    acceptably, but which is quite prone to failure if disturbed in the
  5890.    least.  For example, a too-clever programmer might write an
  5891.    assembler which mapped instruction mnemonics to numeric opcodes
  5892.    algorithmically, a trick which depends far too intimately on the
  5893.    particular bit patterns of the opcodes.  (For another example of
  5894.    programming with a dependence on actual opcode values, see {The
  5895.    Story of Mel, a Real Programmer} in {Appendix A}.)  Many crocks
  5896.    have a tightly woven, almost completely unmodifiable structure.
  5897.    See {kluge}, {brittle}.  The adjectives `crockish' and
  5898.    `crocky', and the nouns `crockishness' and `crockitude', are
  5899.    also used.
  5900.  
  5901. :DAU: /dow/ [German Fidonet] n. German acronym for D"ummster
  5902.    Anzunehmender User (stupidest imaginable user).  From the
  5903.    engin-eering-slang GAU for Gr"osster Anzunehmender Unfall (worst
  5904.    foreseeable accident, esp. of a LNG tank farm plant or something
  5905.    with similarly disastrous consequences).See {cretin}, {fool},
  5906.    {loser} and {weasel}.
  5907.  
  5908. :dead code: n. Routines that can never be accessed because all
  5909.    calls to them have been removed, or code that cannot be reached
  5910.    because it is guarded by a control structure that provably must
  5911.    always transfer control somewhere else.  The presence of dead code
  5912.    may reveal either logical errors due to alterations in the program
  5913.    or significant changes in the assumptions and environment of the
  5914.    program (see also {software rot}); a good compiler should report
  5915.    dead code so a maintainer can think about what it means.
  5916.    (Sometimes it simply means that an *extremely* defensive
  5917.    programmer has inserted {can't happen} tests which really can't
  5918.    happen --- yet.)  Syn. {grunge}.
  5919.  
  5920. :diff: /dif/ n. 1. A change listing, especially giving
  5921.    differences between (and additions to) source code or documents
  5922.    (the term is often used in the plural `diffs').  "Send me your
  5923.    diffs for the Jargon File!"  Compare {vdiff}.  2. Specifically,
  5924.    such a listing produced by the `diff(1)' command, esp. when
  5925.    used as specification input to the `patch(1)' utility (which
  5926.    can actually perform the modifications; see {patch}).  This is a
  5927.    common method of distributing patches and source updates in the
  5928.    UNIX/C world.  3. v. To compare (whether or not by use of automated
  5929.    tools on machine-readable files); see also {vdiff},
  5930.    {mod}.
  5931.  
  5932. :droid: n. A person (esp. a low-level bureaucrat or
  5933.    service-bus-i-ness employee) exhibiting most of the following
  5934.    characteristics: (a) naive trust in the wisdom of the parent
  5935.    organization or `the system'; (b) a blind-faith propensity to
  5936.    believe obvious nonsense emitted by authority figures (or
  5937.    computers!); (c) a rule-governed mentality, one unwilling or unable
  5938.    to look beyond the `letter of the law' in exceptional
  5939.    situations; (d), a paralyzing fear of official reprimand or worse
  5940.    if Procedures are not followed No Matter What; and (e) no interest
  5941.    no interest in doing anything above or beyond the call of a very
  5942.    narrowly-interpreted duty, or in particular in fixing that which is
  5943.    broken; an "It's not my job, man" attitude.
  5944.  
  5945.    Typical droid positions include supermarket checkout assistant and
  5946.    bank clerk; the syndrome is also endemic in low-level government
  5947.    employees.  The implication is that the rules and official
  5948.    procedures constitute software that the droid is executing;
  5949.    problems arise when the software has not been properly debugged.
  5950.    The term `droid mentality' is also used to describe the mindset
  5951.    behind this behavior. Compare {suit}, {marketroid}; see
  5952.    {-oid}.
  5953.  
  5954. :Duff's device: n. The most dramatic use yet seen of {fall
  5955.    through} in C, invented by Tom Duff when he was at Lucasfilm.
  5956.    Trying to {bum} all the instructions he could out of an inner
  5957.    loop that copied data serially onto an output port, he decided to
  5958.    {unroll} it.  He then realized that the unrolled version could
  5959.    be implemented by *interlacing* the structures of a switch and
  5960.    a loop:
  5961.  
  5962.         register n = (count + 7) / 8;      /* count > 0 assumed */
  5963.  
  5964.         switch (count % 8)
  5965.         {
  5966.         case 0:        do { *to = *from++;
  5967.         case 7:              *to = *from++;
  5968.         case 6:              *to = *from++;
  5969.         case 5:              *to = *from++;
  5970.         case 4:              *to = *from++;
  5971.         case 3:              *to = *from++;
  5972.         case 2:              *to = *from++;
  5973.         case 1:              *to = *from++;
  5974.                            } while (--n > 0);
  5975.         }
  5976.  
  5977.    Shocking though it appears to all who encounter it for the first
  5978.    time, the device is actually perfectly valid, legal C.  C's default
  5979.    {fall through} in case statements has long been its most
  5980.    controversial single feature; Duff observed that "This code forms
  5981.    some sort of argument in that debate, but I'm not sure whether it's
  5982.    for or against."
  5983.  
  5984.    [For maximal obscurity, the outermost pair of braces above could be
  5985.    actually be removed --- GLS]
  5986.  
  5987. :dusty deck: n. Old software (especially applications) which one is
  5988.    obliged to remain compatible with, or to maintain ({DP} types
  5989.    call this `legacy code', a term hackers consider smarmy and
  5990.    excessively reverent).  The term implies that the software in
  5991.    question is a holdover from card-punch days.  Used esp. when
  5992.    referring to old scientific and {number-crunching} software,
  5993.    much of which was written in FORTRAN and very poorly documented but
  5994.    is believed to be too expensive to replace.  See {fossil};
  5995.    compare {crawling horror}.
  5996.  
  5997. :elegant: [from mathematical usage] adj. Combining simplicity,
  5998.    power, and a certain ineffable grace of design.  Higher praise than
  5999.    `clever', `winning', or even {cuspy}.
  6000.  
  6001.    The French aviator, adventurer, and author Antoine de
  6002.    Saint-Exup'ery, probably best known for his classic children's
  6003.    book `The Little Prince', was also an aircraft designer.  He
  6004.    gave us perhaps the best definition of engineering elegance when he
  6005.    said "A designer knows he has achieved perfection not when there
  6006.    is nothing left to add, but when there is nothing left to take
  6007.    away."
  6008.  
  6009. :elegant: [from mathematical usage] adj. Combining simplicity,
  6010.    power, and a certain ineffable grace of design.  Higher praise than
  6011.    `clever', `winning', or even {cuspy}.
  6012.  
  6013.    The French aviator, adventurer, and author Antoine de
  6014.    Saint-Exup'ery, probably best known for his classic children's
  6015.    book `The Little Prince', was also an aircraft designer.  He
  6016.    gave us perhaps the best definition of engineering elegance when he
  6017.    said "A designer knows he has achieved perfection not when there
  6018.    is nothing left to add, but when there is nothing left to take
  6019.    away."
  6020.  
  6021. :FAQ list: /F-A-Q list/ or /fak list/ [USENET] n. Syn {FAQ},
  6022.    sense 2.
  6023.  
  6024. :Fortrash: /for'trash/ n. Hackerism for the FORTRAN (FORmula
  6025.    TRANslator) language, referring to its primitive design, gross and
  6026.    irregular syntax, limited control constructs, and slippery,
  6027.    exception-filled semantics.
  6028.  
  6029. :gobble: vt. 1. To consume, usu. used with `up'.  "The output
  6030.    spy gobbles characters out of a {tty} output buffer."  2. To
  6031.    obtain, usu. used with `down'.  "I guess I'll gobble down a copy
  6032.    of the documentation tomorrow."  See also {snarf}.
  6033.  
  6034. :gotcha: n. A {misfeature} of a system, especially a programming
  6035.    language or environment, that tends to breed bugs or mistakes
  6036.    because it both enticingly easy to invoke and completely unexpected
  6037.    and/or unreasonable in its outcome.  For example, a classic gotcha
  6038.    in {C} is the fact that `if (a=b) {code;}' is
  6039.    syntactically valid and sometimes even correct.  It puts the value
  6040.    of `b' into `a' and then executes `code' if
  6041.    `a' is non-zero.  What the programmer probably meant was
  6042.    `if (a==b) {code;}', which executes `code' if
  6043.    `a' and `b' are equal.
  6044.  
  6045. :Green's Theorem: [TMRC] prov. For any story, in any group of
  6046.    people there will be at least one person who has not heard the
  6047.    story.  A refinement of the theorem states that there will be
  6048.    *exactly* one person (if there were more than one, it wouldn't be
  6049.    as bad to re-tell the story).  [The name of this theorem is a play
  6050.    on a fundamental theorem in calculus. --- ESR]
  6051.  
  6052. :grind: vt. 1. [MIT and Berkeley] To prettify hardcopy of code,
  6053.    especially LISP code, by reindenting lines, printing keywords and
  6054.    comments in distinct fonts (if available), etc.  This usage was
  6055.    associated with the MacLISP community and is now rare;
  6056.    {prettyprint} was and is the generic term for such
  6057.    operations.  2. [UNIX] To generate the formatted version of a
  6058.    document from the {{nroff}}, {{troff}}, {{TeX}}, or Scribe
  6059.    source.  3. To run seemingly interminably, esp. (but not
  6060.    necessarily) if performing some tedious and inherently useless
  6061.    task.  Similar to {crunch} or {grovel}.  Grinding has a
  6062.    connotation of using a lot of CPU time, but it is possible to grind
  6063.    a disk, network, etc.  See also {hog}.  4. To make the whole
  6064.    system slow.  "Troff really grinds a PDP-11."  5. `grind grind'
  6065.    excl. Roughly, "Isn't the machine slow today!"
  6066.  
  6067. :gubbish: /guhb'*sh/ [a portmanteau of `garbage' and
  6068.    `rubbish'; may have originated with SF author Philip K. Dick]
  6069.    n. Garbage; crap; nonsense.  "What is all this gubbish?"  The
  6070.    opposite portmanteau `rubbage' is also reported.
  6071.  
  6072. :hack value: n. Often adduced as the reason or motivation for
  6073.    expending effort toward a seemingly useless goal, the point being
  6074.    that the accomplished goal is a hack.  For example, MacLISP had
  6075.    features for reading and printing Roman numerals, which were
  6076.    installed purely for hack value.  See {display hack} for one
  6077.    method of computing hack value, but this cannot really be
  6078.    explained, only experienced.  As Louis Armstrong once said when
  6079.    asked to explain jazz: "Man, if you gotta ask you'll never know."
  6080.    (Feminists please note Fats Waller's explanation of rhythm: "Lady,
  6081.    if you got to ask you ain't got it.")
  6082.  
  6083. :ice: [coined by USENETter Tom Maddox, popularized by William
  6084.    Gibson's cyberpunk SF novels: a contrived acronym for `Intrusion
  6085.    Countermeasure Electronics'] Security software (in Gibson's novels,
  6086.    software that responds to intrusion by attempting to literally kill
  6087.    the intruder).  Also, `icebreaker': a program designed for
  6088.    cracking security on a system.
  6089.  
  6090.    Neither term is in serious use yet as of mid-1993, but many hackers
  6091.    find the metaphor attractive, and each may develop a denotation in
  6092.    the future. In the meantime, the speculative usage chould be
  6093.    confused with `ICE', an acronym for "in-circuit emulator".
  6094.  
  6095. :Lasherism: [Harvard] n. A program that solves a standard problem
  6096.    (such as the Eight Queens puzzle or implementing the {life}
  6097.    algorithm) in a deliberately nonstandard way.  Distinguished from a
  6098.    {crock} or {kluge} by the fact that the programmer did it on
  6099.    purpose as a mental exercise.  Such constructions are quite popular
  6100.    in exercises such as the {Obfuscated C contest}, and
  6101.    occasionally in {retrocomputing}.  Lew Lasher was a student at
  6102.    Harvard around 1980 who became notorious for such behavior.
  6103.  
  6104. :magic cookie: [UNIX] n. 1. Something passed between routines or
  6105.    programs that enables the receiver to perform some operation; a
  6106.    capability ticket or opaque identifier.  Especially used of small
  6107.    data objects that contain data encoded in a strange or
  6108.    intrinsically machine-dependent way.  E.g., on non-UNIX OSes with a
  6109.    non-byte-stream model of files, the result of `ftell(3)' may
  6110.    be a magic cookie rather than a byte offset; it can be passed to
  6111.    `fseek(3)', but not operated on in any meaningful way.  The
  6112.    phrase `it hands you a magic cookie' means it returns a result
  6113.    whose contents are not defined but which can be passed back to the
  6114.    same or some other program later.  2. An in-band code for changing
  6115.    graphic rendition (e.g., inverse video or underlining) or
  6116.    performing other control functions (see also {cookie}).  Some
  6117.    older terminals would leave a blank on the screen corresponding to
  6118.    mode-change magic cookies; this was also called a {glitch}.  (or
  6119.    occasionally a `turd'; compare {mouse droppings}).  See also
  6120.    {cookie}.
  6121.  
  6122. :MFTL: /M-F-T-L/ [abbreviation: `My Favorite Toy Language'] 1. adj.
  6123.    Describes a talk on a programming language design that is heavy on
  6124.    the syntax (with lots of BNF), sometimes even talks about semantics
  6125.    (e.g., type systems), but rarely, if ever, has any content (see
  6126.    {content-free}).  More broadly applied to talks --- even when
  6127.    the topic is not a programming language --- in which the subject
  6128.    matter is gone into in unnecessary and meticulous detail at the
  6129.    sacrifice of any conceptual content.  "Well, it was a typical MFTL
  6130.    talk".  2. n. Describes a language about which the developers are
  6131.    passionate (often to the point of prosyletic zeal) but no one else
  6132.    cares about.  Applied to the language by those outside the
  6133.    originating group.  "He cornered me about type resolution in his
  6134.    MFTL."
  6135.  
  6136.    The first great goal in the mind of the designer of an MFTL is
  6137.    usually to write a compiler for it, then bootstrap the design away
  6138.    from contamination by lesser languages by writing a compiler for it
  6139.    in itself.  Thus, the standard put-down question at an MFTL talk is
  6140.    "Has it been used for anything besides its own compiler?".  On
  6141.    the other hand, a language that *cannot* be used to write
  6142.    its own compiler is beneath contempt.  See {break-even point}.
  6143.  
  6144.    (On a related note, Dennis Ritchie once proposed a test of the
  6145.    generality and utility of a language and the operating system under
  6146.    which it is compiled: "Is the output of a FORTRAN program compiled
  6147.    under the language acceptable as input to the FORTRAN compiler?"
  6148.    In other words, can you write programs thaat write programs? (See
  6149.    {toolsmith}.)  Alarming numbers of (language, OS) pairs fail
  6150.    this test, particularly when the language is FORTRAN; Ritchie is
  6151.    quick to point out that {UNIX} (even using FORTRAN) passes it
  6152.    handily.  That the test could ever be failed is only surprising to
  6153.    those who have had the good fortune to have worked only under
  6154.    modern systems which lack OS-supported and -imposed "file
  6155.    types".)
  6156.  
  6157. :moby: /moh'bee/ [MIT: seems to have been in use among model
  6158.    railroad fans years ago.  Derived from Melville's `Moby Dick'
  6159.    (some say from `Moby Pickle').] 1. adj. Large, immense, complex,
  6160.    impressive.  "A Saturn V rocket is a truly moby frob."  "Some
  6161.    MIT undergrads pulled off a moby hack at the Harvard-Yale game."
  6162.    (See "{The Meaning of `Hack'}").  2. n. obs. The
  6163.    maximum address space of a machine (see below).  For a 680[234]0 or
  6164.    VAX or most modern 32-bit architectures, it is 4,294,967,296 8-bit
  6165.    bytes (4 gigabytes).  3. A title of address (never of third-person
  6166.    reference), usually used to show admiration, respect, and/or
  6167.    friendliness to a competent hacker.  "Greetings, moby Dave.  How's
  6168.    that address-book thing for the Mac going?"  4. adj. In
  6169.    backgammon, doubles on the dice, as in `moby sixes', `moby
  6170.    ones', etc.  Compare this with {bignum} (sense 3): double sixes
  6171.    are both bignums and moby sixes, but moby ones are not bignums (the
  6172.    use of `moby' to describe double ones is sarcastic).  Standard
  6173.    emphatic forms: `Moby foo', `moby win', `moby loss'.  `Foby
  6174.    moo': a spoonerism due to Richard Greenblatt.  5. The largest
  6175.    available unit of something which is available in discrete
  6176.    increments. Thus, ordering a "moby Coke" at your favorite
  6177.    fast-food joint is not just a request for a large Coke, it's an
  6178.    explicit request for the largest size they sell.
  6179.  
  6180.    This term entered hackerdom with the Fabritek 256K memory added to
  6181.    the MIT AI PDP-6 machine, which was considered unimaginably huge
  6182.    when it was installed in the 1960s (at a time when a more typical
  6183.    memory size for a timesharing system was 72 kilobytes).  Thus, a
  6184.    moby is classically 256K 36-bit words, the size of a PDP-6 or
  6185.    PDP-10 moby.  Back when address registers were narrow the term was
  6186.    more generally useful, because when a computer had virtual memory
  6187.    mapping, it might actually have more physical memory attached to it
  6188.    than any one program could access directly.  One could then say
  6189.    "This computer has 6 mobies" meaning that the ratio of physical
  6190.    memory to address space is 6, without having to say specifically
  6191.    how much memory there actually is.  That in turn implied that the
  6192.    computer could timeshare six `full-sized' programs without having
  6193.    to swap programs between memory and disk.
  6194.  
  6195.    Nowadays the low cost of processor logic means that address spaces
  6196.    are usually larger than the most physical memory you can cram onto
  6197.    a machine, so most systems have much *less* than one theoretical
  6198.    `native' moby of {core}.  Also, more modern memory-management
  6199.    techniques (esp. paging) make the `moby count' less significant.
  6200.    However, there is one series of widely-used chips for which the term
  6201.    could stand to be revived --- the Intel 8088 and 80286 with their
  6202.    incredibly {brain-damaged} segmented-memory designs.  On these, a
  6203.    `moby' would be the 1-megabyte address span of a segment/offset
  6204.    pair (by coincidence, a PDP-10 moby was exactly 1 megabyte of 9-bit
  6205.    bytes).
  6206.  
  6207. :moria: /mor'ee-*/ n. Like {nethack} and {rogue}, one of
  6208.    the large PD Dungeons-and-Dragons-like simulation games, available
  6209.    for a wide range of machines and operating systems.  The name is
  6210.    from Tolkien's Mines of Moria; compare {elder days}.
  6211.    {elvish}.  The game is extremely addictive and a major consumer
  6212.    of time better used for hacking.
  6213.  
  6214. :neep-neep: /neep neep/ [onomatopoeic, from New York SF fandom]
  6215.    n.  One who is fascinated by computers.  More general than
  6216.    {hacker}, as it need not imply more skill than is required to
  6217.    boot games on a PC.  The derived noun `neeping' oapplies
  6218.    specifically to the long conversations about computers that tend to
  6219.    develop in the corners at most SF-convention parties (the term
  6220.    `neepery' is also in wide use).  Fandom has a related proverb to
  6221.    the effect that "Hacking is a conversational black hole!".
  6222.  
  6223. :paper-net: n. Hackish way of referring to the postal service,
  6224.    analogizing it to a very slow, low-reliability network.  USENET
  6225.    {sig block}s sometimes include a "Paper-Net:" header just
  6226.    before the sender's postal address; common variants of this are
  6227.    "Papernet" and "P-Net".  Note that the standard {netiquette}
  6228.    guidelines discourage this practice as a waste of bandwidth, since
  6229.    netters are quite unlikely to casually use postal addresses.
  6230.    Compare {voice-net}, {snail-mail}, {P-mail}.
  6231.  
  6232. :plonk: [USENET: possibly influenced by British slang `plonk' for
  6233.    cheap booze, or `plonker' for someone behaving stupidly] The sound
  6234.    a {newbie} makes as he falls to the bottom of a {kill file}.
  6235.    Used almost exclusively in the {newsgroup} talk.bizarre,
  6236.    this term (usually written "*plonk*") is a form of public
  6237.    ridicule.
  6238.  
  6239. :punched card:: alt. `punch card' [techspeak] n.obs. The
  6240.    signature medium of computing's {Stone Age}, now obsolescent
  6241.    outside of some IBM shops.  The punched card actually predated
  6242.    computers considerably, originating in 1801 as a control device for
  6243.    mechanical looms.  The version patented by Hollerith and used with
  6244.    mechanical tabulating machines in the 1890 U.S. Census was a piece
  6245.    of cardboard about 90 mm by 215 mm.  There is a widespread myth
  6246.    that it was designed to fit in the currency trays used for that
  6247.    era's larger dollar bills, but recent investigations have falsified
  6248.    this.
  6249.  
  6250.    IBM (which originated as a tabulating-machine manufacturer) married
  6251.    the punched card to computers, encoding binary information as
  6252.    patterns of small rectangular holes; one character per column,
  6253.    80 columns per card.  Other coding schemes, sizes of card, and
  6254.    hole shapes were tried at various times.
  6255.  
  6256.    The 80-column width of most character terminals is a legacy of the
  6257.    IBM punched card; so is the size of the quick-reference cards
  6258.    distributed with many varieties of computers even today.  See
  6259.    {chad}, {chad box}, {eighty-column mind}, {green card},
  6260.    {dusty deck}, {lace card}, {card walloper}.
  6261.  
  6262. :scratch monkey: n. As in "Before testing or reconfiguring, always
  6263.    mount a {scratch monkey}", a proverb used to advise caution
  6264.    when dealing with irreplaceable data or devices.  Used to refer to
  6265.    any scratch volume hooked to a computer during any risky operation
  6266.    as a replacement for some precious resource or data that might
  6267.    otherwise get trashed.
  6268.  
  6269.    This term preserves the memory of Mabel, the Swimming Wonder
  6270.    Monkey, star of a biological research program at the University of
  6271.    Toronto.  Mabel was not (so the legend goes) your ordinary monkey;
  6272.    the university had spent years teaching her how to swim, breathing
  6273.    through a regulator, in order to study the effects of different gas
  6274.    mixtures on her physiology.  Mabel suffered an untimely demise one
  6275.    day when a DEC engineer troubleshooting a crash on the program's VAX 
  6276.    inadvertently interfered with some custom hardware that was wired
  6277.    to Mabel.
  6278.  
  6279.    It is reported that, after calming down an understandably irate
  6280.    customer sufficiently to ascertain the facts of the matter, a DEC
  6281.    troubleshooter called up the {field circus} manager responsible
  6282.    and asked him sweetly, "Can you swim?"
  6283.  
  6284.    Not all the consequences to humans were so amusing; the sysop of
  6285.    the machine in question was nearly thrown in jail at the behest of
  6286.    certain clueless droids at the local `humane' society.  The moral
  6287.    is clear: When in doubt, always mount a scratch monkey.
  6288.  
  6289.    [There is a version of this story, complete with reported dialogue
  6290.    between one of the project people and DEC field service, that has
  6291.    been circulating on Internet since 1986.  It is hilarious and
  6292.    mythic, but gets some facts wrong.  For example, it reports the
  6293.    machine as a PDP-11 and alleges that Mabel's demise occurred when
  6294.    DEC {PM}ed the machine.  Earlier versions of this entry were
  6295.    based on that story; this one has been corrected from an interview
  6296.    with the hapless sysop. --- ESR]
  6297.  
  6298. :SIG: /sig/ n. (also common as a prefix in combining forms) The
  6299.    Association for Computing Machinery traditionally sponsors Special
  6300.    Interest Groups in various technical areas; well-known ones include
  6301.    SIGPLAN (the Special Interest Group on Programming Languages),
  6302.    SIGARCH (the Special Interest Group for Computer Architecture) and
  6303.    SIGGRAPH (the Special Interest Group for Computer Graphics).
  6304.    Hackers, not surprisingly, like to overextend this naming
  6305.    convention to less formal associations like SIGBEER (at ACM
  6306.    conferences) and SIGFOOD (at University of Illinois).
  6307.  
  6308. :snarf: /snarf/ vt. 1. To grab, esp. to grab a large document
  6309.    or file for the purpose of using it with or without the author's
  6310.    permission.  See also {BLT}.  2. [in the UNIX community] To
  6311.    fetch a file or set of files across a network.  See also
  6312.    {blast}.  This term was mainstream in the late 1960s, meaning
  6313.    `to eat piggishly'.  It may still have this connotation in
  6314.    context.  "He's in the snarfing phase of hacking --- {FTP}ing
  6315.    megs of stuff a day."  3. To acquire, with little concern for
  6316.    legal forms or politesse (but not quite by stealing).  "They
  6317.    were giving away samples, so I snarfed a bunch of them."
  6318.    4. Syn. for {slurp}.  "This program starts by snarfing the
  6319.    entire database into core, then...." 5. [GEnie] To spray
  6320.    food or {programming fluid}s due to laughing at the wrong
  6321.    moment.  "I was drinking coffee, and when I read your post I
  6322.    snarfed all over my desk." "If I keep reading this topic, I think
  6323.    I'll have to snarf-proof my computer with a keyboard {condom}."
  6324.    [This sense appears to be widespread among mundane teenagers ---
  6325.    ESR]
  6326.  
  6327. :store: [prob. from techspeak `main store'] n. In some
  6328.    varieties of Commonwealth hackish, the referred synonym for
  6329.    {core}.  Thus, `bringing a program into store' means not that
  6330.    one is returning shrink-wrapped software but that a program is
  6331.    being {swap}ped in.
  6332.  
  6333. :Sturgeon's Law: prov. "Ninety percent of everything is crap".  Derived
  6334.    from a quote by science fiction author Theodore Sturgeon, who once
  6335.    said, "Sure, 90% of science fiction is crud. That's because 90% of
  6336.    everything is crud."  Oddly, when Sturgeon's Law is cited, the 
  6337.    final word is almost invariably changed to `crap'.  Compare
  6338.    {Hanlon's Razor}.  Though this maxim originated in SF fandom,
  6339.    most hackers recognize it and are all too aware of its truth.
  6340.  
  6341. :UTSL: // [UNIX] n. On-line acronym for `Use the Source, Luke' (a
  6342.    pun on Obi-Wan Kenobi's "Use the Force, Luke!" in `Star
  6343.    Wars') --- analogous to {RTFM} but more polite.  This is a
  6344.    common way of suggesting that someone would be best off reading the
  6345.    source code that supports whatever feature is causing confusion,
  6346.    rather than making yet another futile pass through the manuals or
  6347.    broadcasting questions that haven't attracted {wizard}s to
  6348.    answer them.
  6349.  
  6350.    Until recently, this objurgation was in theory appropriately
  6351.    directed only at associates of some outfit with a UNIX source
  6352.    license; in practice, bootlegs of UNIX source code (made precisely
  6353.    for reference purposes) were so ubiquitous that one could utter
  6354.    at almost anyone on the network without concern.
  6355.  
  6356.    Nowadays, free UNIX clones are becomming common enough that almost
  6357.    anyone can read source legally.  The most widely distributed is
  6358.    probably Linux, with 386BSD (aka {jolix}) running second.  Cheap
  6359.    commercial UNIXes with source such as BSD/386 and Mach386 are
  6360.    accelerating this trend.
  6361.  
  6362. :VAX: /vaks/ n. 1. [from Virtual Address eXtension] The most
  6363.    successful minicomputer design in industry history, possibly
  6364.    excepting its immediate ancestor, the PDP-11.  Between its release
  6365.    in 1978 and its eclipse by {killer micro}s after about 1986, the
  6366.    VAX was probably the hacker's favorite machine of them all, esp.
  6367.    after the 1982 release of 4.2 BSD UNIX (see {BSD}).  Esp.
  6368.    noted for its large, assembler-programmer-friendly instruction set
  6369.    --- an asset that became a liability after the RISC revolution.
  6370.    2. A major brand of vacuum cleaner in Britain.  Cited here because
  6371.    its alleged sales pitch, "Nothing sucks like a VAX!" became a
  6372.    sort of battle-cry of RISC partisans.    It is even sometimes
  6373.    claimed that DEC actually entered a cross-licensing deal with the
  6374.    vacuum-Vax people that allowed them to market VAX computers in the
  6375.    U.K. in return for not challenging the vacuum cleaner trademark in
  6376.    the U.S.
  6377.  
  6378.    It is sometimes claimed that this slogan was *not* actually
  6379.    used by the Vax vacuum-cleaner people, but was actually that of a
  6380.    rival brand called Electrolux (as in "Nothing sucks like...").
  6381.    It's been reliably confirmed that Electrolux actually did use this
  6382.    slogan in the late 1960s; they're a Belgian company, and it apparently
  6383.    has become a classic example (used in textbooks) of the perils of
  6384.    not knowing the local idiom.
  6385.  
  6386.    It appears, however, that the Vax people thought the slogan a
  6387.    sufficiently good idea to copy it.  Several British hackers report
  6388.    that their promotions used it in 1986--1987, and we have one
  6389.    report from a New Zealander that it surfaced there in TV ads for
  6390.    the product as recently as 1992!
  6391.  
  6392. :virtual Friday: n. (also `logical Friday') The last day before
  6393.    an extended weekend, if that day is not a `real' Friday.  For
  6394.    example, the U.S. holiday Thanksgiving is always on a Thursday.
  6395.    The next day is often also a holiday or taken as an extra day off,
  6396.    in which case Wednesday of that week is a virtual Friday (and
  6397.    Thursday is a virtual Saturday, as is Friday).  There are also
  6398.    `virtual Mondays' that are actually Tuesdays, after the three-day
  6399.    weekends associated with many national holidays in the U.S.
  6400.  
  6401. :wedged: adj. 1. To be stuck, incapable of proceeding without help.
  6402.    This is different from having crashed.  If the system has crashed,
  6403.    it has become totally non-functioning.  If the system is wedged, it
  6404.    is trying to do something but cannot make progress; it may be
  6405.    capable of doing a few things, but not be fully operational.  For
  6406.    example, a process may become wedged if it {deadlock}s with
  6407.    another (but not all instances of wedging are deadlocks).  See also
  6408.    {gronk}, {locked up}, {hosed}.  Describes a
  6409.    {deadlock}ed condition.  2. Often refers to humans suffering
  6410.    misconceptions.  "He's totally wedged --- he's convinced that he
  6411.    can levitate through meditation."  3. [UNIX] Specifically used to
  6412.    describe the state of a TTY left in a losing state by abort of a
  6413.    screen-oriented program or one that has messed with the line
  6414.    discipline in some obscure way.
  6415.  
  6416.    There is some dispute over the origin of this term.  It is usually
  6417.    thought to derive from a common description of recto-cranial
  6418.    inversion; however, it may actually have originated with older
  6419.    `hot-press' printing technology in which physical type elements
  6420.    were locked into type frames with wedges driven in by mallets.
  6421.    Once this had been done, no changes in the typesetting for that
  6422.    page could be made.
  6423.  
  6424. :WIMP environment: n. [acronymic from `Window, Icon, Menu, Pointing
  6425.    device (or Pull-down menu)'] A graphical-user-interface-based
  6426.    environment such as {X} or the Macintosh interface, esp. as
  6427.    described by a hacker who prefers command-line interfaces for their
  6428.    superior flexibility and extensibility.  However, it is used
  6429.    without negative connotations; one must pay attention to voice tone
  6430.    and other signals to interpret correctly.  See {menuitis},
  6431.    {user-obsequious}.
  6432.  
  6433. :XXX: /X-X-X/ n. A marker that attention is needed.
  6434.    Commonly used in program comments to indicate areas that are kluged
  6435.    up or need to be.  Some hackers liken `XXX' to the notional
  6436.    heavy-porn movie rating.  Compre {FIXME}.
  6437.  
  6438. :You know you've been hacking too long when...: The set-up line
  6439.    for a genre of one-liners told by hackers about themselves.  These
  6440.    include the following:
  6441.  
  6442.    *    not only do you check your email more often than your paper
  6443.         mail, but you remember your {network address} faster than your
  6444.         postal one.
  6445.    *    your {SO} kisses you on the neck and the first thing you
  6446.         think is "Uh, oh, {priority interrupt}."
  6447.    *    you go to balance your checkbook and discover that you're
  6448.         doing it in octal.
  6449.    *    your computers have a higher street value than your car.
  6450.    *    in your universe, `round numbers' are powers of 2, not 10.
  6451.    *    more than once, you have woken up recalling a dream in
  6452.         some programming language.
  6453.    *    you realize you have never seen half of your best friends.
  6454.  
  6455.    [An early version of this entry said "All but one of these
  6456.    have been reliably reported as hacker traits (some of them quite
  6457.    often).  Even hackers may have trouble spotting the ringer."  The
  6458.    ringer was balancing one's checkbook in octal, which I made up out
  6459.    of whole cloth.  Although more respondents picked that one
  6460.    out as fiction than any of the others, I also received multiple
  6461.    independent reports of its actually happening, including a report
  6462.    that Grace Hopper used to tell such a story about herself. --- ESR]
  6463.  
  6464. :zorch: /zorch/ 1. [TMRC] v. To attack with an inverse heat sink.
  6465.    2. [TMRC] v. To travel, with v approaching c [that
  6466.    is, with velocity approaching lightspeed --- ESR].  3. [MIT] v. To
  6467.    propel something very quickly.  "The new comm software is very
  6468.    fast; it really zorches files through the network."  4. [MIT] n.
  6469.    Influence.  Brownie points.  Good karma.  The intangible and fuzzy
  6470.    currency in which favors are measured.  "I'd rather not ask him
  6471.    for that just yet; I think I've used up my quota of zorch with him
  6472.    for the week."  5. [MIT] n. Energy, drive, or ability.  "I think
  6473.    I'll {punt} that change for now; I've been up for 30 hours
  6474.    and I've run out of zorch."  6. [MIT] To flunk an exam or course.
  6475.  
  6476.  
  6477. **************** Deleted entries *****************
  6478.  
  6479.    arc                    2.9.12
  6480.    arc wars                2.9.12
  6481.    archive                2.9.12
  6482.    BartleMud                2.9.12
  6483.    berserking                2.9.12
  6484.    brand brand brand            2.9.12
  6485.    card                    2.9.12
  6486.    essentials                2.9.12
  6487.    fab                    2.9.12
  6488.    fuggly                2.9.12
  6489.    hack-and-slay            2.9.12
  6490.    i14y                    2.9.12
  6491.    i18n                    2.9.12
  6492.    K-line                2.9.12
  6493.    posing                2.9.12
  6494.    Q-line                2.9.12
  6495.    reset                2.9.12
  6496.    salsman                2.9.12 (at salsman's request)
  6497.    silicon foundry            2.9.12
  6498.    subshell                2.9.12
  6499.    tinycrud                2.9.12
  6500.